Активность возвращает неправильный код запроса - PullRequest
0 голосов
/ 09 ноября 2018

у меня 4 занятия A -> B-> C -> D

из действия D Я хочу вернуться к B

вот код

manifest:
<activity android:name=".GetAttendance" android:launchMode="singleTask"/>

.

Activity D
Intent intent = new Intent(AddNewGuest.this, GetAttendance.class);
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                    intent.putExtra("guest", temp);// temp is an object
                    setResult(600, intent);
                    startActivity(intent);

на занятии B, я звоню:

      protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        System.out.println("requestCode:"+requestCode+"  resultCode:"+resultCode);
}

Но я получаю requestCode, равный 1000 , куда я его отправляю 600

Однако, когда Activity B вызывает C и, прежде чем перейти к D, я устанавливаю код запроса на 1000 startActivityForResult(intent, 1000);

есть предложения?

1 Ответ

0 голосов
/ 09 ноября 2018

Вы отправляете requestCode 1000, что видно из вашего startActivityForResult(intent, 1000); заявления

Вы ожидали 600, но вызов setResult(600, intent); устанавливает код результата на 600

Это отличается, потому что вы ожидаете для кода запроса , тогда как значение 600 для кода результата

https://developer.android.com/reference/android/app/Activity#setResult(int,%20android.content.Intent)

...