Застрял на onActivityResult - PullRequest
       13

Застрял на onActivityResult

0 голосов
/ 06 октября 2019

Я пытаюсь сделать простое приложение, которое может вести счет в игре. Когда я нажимаю кнопку «плюс» или «минус», открывается новое действие, в котором пользователь должен ввести свой счет. Эта оценка должна быть сохранена в текстовом представлении. Проблема в том, что он работал до того, как Android Studio получил обновление 3.5. Вот мой код:

buttonPlus3 = findViewById(R.id.buttPlusPlayer3);
        buttonPlus3.setOnClickListener(this);
    }
            @Override
            public void onClick(View v) {

                    Intent i = new Intent(this, SecondActivity.class);
                startActivityForResult(i, 1);
            }


/*
        //option wich already worked but it doesnt anymore
        buttonPlus1 = findViewById(R.id.buttPlusPlayer1);
        buttonPlus1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

               startActivityForResult(new Intent(getApplicationContext(),SecondActivity.class),0);


            }
        });
*/


    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {


            if (requestCode == 1 && resultCode == RESULT_OK) {
                mFirstScore.setText(data.getStringExtra("message"));
                finish();
            }

        if (requestCode == 1 && resultCode == RESULT_OK) {
            mSecondscore.setText(data.getStringExtra("message"));
            finish();
        }

и это мой второй код активности:

public class SecondActivity extends AppCompatActivity {
   private EditText mEditText1;
   private ImageButton mBackSpace;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        setTitle("ADD POINTS");
        mEditText1 = findViewById(R.id.button2);


 //implementing backspace button

        mBackSpace =  findViewById(R.id.backSpaceButton);
        mBackSpace.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String str= mEditText1.getText().toString();
                if(str.length() > 0){
                    str = str.substring(0, str.length() -1);
                    mEditText1.setText(str);
                }
            }
        });
    }
    @Override
    public void onBackPressed() {

        Intent i = new Intent();
        i.putExtra("message", mEditText1.getText().toString());
        setResult(RESULT_OK, i);
        finish();
    }
}

Ошибки в том, что я "нашел" при открытии симулятора

        at android.os.MessageQueue.enqueueMessage(MessageQueue.java:545)
        at android.os.Handler.enqueueMessage(Handler.java:662)
        at android.os.Handler.sendMessageAtTime(Handler.java:631)
        at android.os.Handler.sendMessageDelayed(Handler.java:601)
        at android.os.Handler.post(Handler.java:357)
        at android.os.ResultReceiver$MyResultReceiver.send(ResultReceiver.java:57)
        at com.android.internal.os.IResultReceiver$Stub.onTransact(IResultReceiver.java:58)
        at android.os.Binder.execTransact(Binder.java:697)

и ошибка, когда я ввожу число в секунде Активность

java.lang.Throwable
        at android.os.BinderProxy.transact(Binder.java:752)
        at android.app.assist.AssistStructure$ParcelTransferReader.fetchData(AssistStructure.java:407)
        at android.app.assist.AssistStructure$ParcelTransferReader.go(AssistStructure.java:343)
        at android.app.assist.AssistStructure.ensureData(AssistStructure.java:2110)
        at com.android.server.autofill.Session$1.send(Session.java:227)
        at com.android.server.am.ActivityManagerService.reportAssistContextExtras(ActivityManagerService.java:13272)
        at android.app.IActivityManager$Stub.onTransact(IActivityManager.java:2472)
        at com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2919)
        at android.os.Binder.execTransact(Binder.java:697)

Надеюсь, это поможет.

...