Android: StartActivityForResult всегда получает результат кода 0? [закрыто

StackOverflow https://stackoverflow.com/questions/1926284

  •  20-09-2019
  •  | 
  •  

Вопрос

По какой -то причине, когда я использую вызов, результат всегда возвращается как 0. Все, что я делаю, это всплывающее окно «Компания выбора», а затем, как только выбор сделан, пользователь попадает на кнопку Back. Кто -нибудь знает, какую ошибку я мог бы сделать?

Вызовая деятельность:

Intent i = new Intent(this, Selection.class);
Log.d("Front-End", "Launching Activity");
startActivityForResult(i, SELECTION);

Вызываемое действие:

bundle.putStringArray("selections", selected_array);
Intent resultIntent = new Intent();
resultIntent.putExtras(bundle);
setResult(RESULT_OK, resultIntent);
finish();

Какие-либо предложения? Если я включу звонок Finise (), он даст мне следующее:

W/ActivityManager( 1030): Duplicate finish request for HistoryRecord{44802c90 com.android.TVitter/.Selection}
Это было полезно?

Решение

ОК, сейчас не пламенись. Мне потребовалось два часа, чтобы отладить это :( просто записать его, чтобы другие не совершили эту глупую ошибку. Мне пришлось положить кнопку «ОК», а затем обрабатывать событие вместо того, чтобы позволить пользователю нажать кнопку «Назад» По телефону. Это была очевидная вещь, но по какой -то причине я пропустил это ...

Другие советы

Вы также можете реализовать Activity.onBackPressed() Если вы хотите вернуть некоторые конкретные данные из деятельности, когда нажата кнопка Back. Похоже, что это доступно только с 2.0, хотя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top