У меня есть два действия: MainListActivity и DetailViewActivity. DetailViewActivity устанавливается с android:launchMode="singleTop"
.
При нажатии на элемент в действии «основной список» запускается действие «подробный просмотр» с помощью:
startActivityForResult(detailIntent, REQUEST_CODE_DETAIL);
Если после этого я вызову setResult(RESULT_OK, resultData);
и finish();
из операции Detail, эти resultData будут правильно получены методом onActivityResult(..)
действия "основной список".
Однако, если я реализую навигацию типа «увидеть предыдущий» / «увидеть дальше» в действии «Деталь» и реализую ее с помощью singleTop, этот результат больше не будет возвращаться к исходному действию:
Intent nextItemIntent = this.createIntent(nextId);
nextItemIntent.setFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
startActivity(nextItemIntent);
// at this point, my DetailActivity's onNewIntent() method is called, and the new data is loaded properly
Но отсюда, когда я звоню setResult(..)
и finish()
, моя деятельность в MainList никогда не получает новый / обновленный результат.
Кто-нибудь знает, что я делаю не так?