Intereting Posts
Редактируемый список элементов в настройках приложения? Странная проблема в объединении аудиофайлов и воспроизведении в разных версиях API ScaleTo не работает в Libgdx Как создать свою собственную библиотеку Android и разместить ее Как изменить размер текста в RemoteViews Активность начата без EXTRA_ACCOUNT при использовании совместного использования в GooglePlus SDK Как показать в TimePickerDialog дополнительно 1 час Невозможно разрешить использование приложения в facebook SDK Исключение Android Amazon S3: «Указанный ключ не существует» Как использовать статический анализатор кода, введенный в android ndk r8e? Обнаружение определенных устройств в приложении android Элементы меню NavigationView со счетчиком справа Слушайте входящие звонки через BroadcastReceiver, без PhoneStateIntentReceiver или PhoneStateListener Unity ui mask не работает на пиксельном устройстве Google Android GoogleMap или SupportMapFragment – исключение нулевого указателя

Использование панели действий в качестве кнопки «вверх», операция home saveInstanceState всегда равна нулю

Активность A === кнопка щелчка ===> Активность B

При нажатии кнопки возврата активность А не воссоздается.

Когда вы нажимаете кнопку «вверх» как кнопка «вверх», активность A воссоздается.

Поэтому я сохраняю состояние, когда A.onSaveInstanceState (Bundle outState) и использует состояние, когда A.onRestoreInstanceState (Bundle savedInstanceState).

Сохранение и использование отлично работают (кроме кнопки «Домой»)

,

Однако,

При нажатии кнопки «вверх» в качестве кнопки «вверх» система воссоздает действие «А», а «Сохраненное состояние» исчезло.

Как я могу использовать Saved Instance State?

@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: // I do not want this... // Home as up button is to navigate to Home-Activity not previous acitivity super.onBackPressed(); return true; } return super.onOptionsItemSelected(item); } 

В onCreate () включить домашнюю кнопку.

 @Override public void onCreate(Bundle savedInstanceState) { ... getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayShowHomeEnabled(true); } 

В методе onOptionItemSelected () сделайте это.

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; } return super.onOptionsItemSelected(item); } 

Это должно включить навигацию вверх. Если вы хотите восстановить родительскую активность с помощью файла savedInstanceState. Вы должны установить launchMode="singleTop" в родительской активности в файле манифеста.

Для получения дополнительной информации посетите http://developer.android.com/: Предоставление навигации вверх

 @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Respond to the action bar's Up/Home button case android.R.id.home: finish(); return true; } return super.onOptionsItemSelected(item); } 

Я использовал финиш (), внедренный в NavUtils ;