У меня есть операция A, содержащая вкладку с двумя вкладками: tab1 в позиции 1 и tab2 в позиции 2.
Каждая вкладка содержит ресайклинг с элементами с кликабельными элементами. Нажатие начинает действие B.
Если вы выбираете tab1 и нажимаете на один из его элементов, начинается действие B и с помощью кнопки «Назад» я возвращаюсь к активности A, где выбрана tab1. Но если я делаю то же самое с tab2, tab1 по-прежнему остается выбранным, когда я возвращаюсь к активности A.
Как я могу запомнить выбранную вкладку, чтобы всякий раз, когда я покидаю активность B, отображается ранее выбранная вкладка, а не всегда tab1 ?Запомните выбранную вкладку в android
ответ
Убедитесь, что вы реализуете навигацию надлежащим образом:
<application ... >
...
<!-- The main/home activity (it has no parent activity) -->
<activity
android:name="com.example.myfirstapp.MainActivity" ...>
...
</activity>
<!-- A child of the main activity -->
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android:parentActivityName="com.example.myfirstapp.MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
@Override
public void onCreate(Bundle savedInstanceState) {
...
getActionBar().setDisplayHomeAsUpEnabled(true);
}
@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);
}
Источник: https://developer.android.com/training/implementing-navigation/ancestral.html
Также ему необходимо рассмотреть изменение ориентации. Изменение ориентации не сохраняет состояние выбора макетов табуляции –
@ Матиас Элорриага с использованием NavUtils.navigateUpFromSameTask() не работает. Первая вкладка все еще выбрана. – edmond
Установка
android:launchMode=singleTop
для начального действия решает проблему для меня. Не нужно сохранять какую-либо позицию табуляции.
- 1. Запомните последнюю вкладку после перенаправления
- 2. Как удалить выбранную вкладку в Android?
- 3. Запомните последнюю выбранную опцию из раскрывающегося списка
- 4. Android обнаружит выбранную вкладку и изменил ActionBar
- 5. Изменить выбранную вкладку UITabBar
- 6. Перенаправление на выбранную вкладку
- 7. Найти выбранную вкладку
- 8. выделите выбранную вкладку
- 9. Silverlight tabcontrol, как сохранить выбранную выбранную вкладку
- 10. Получить выбранную вкладку в appdelegate
- 11. андроидный центр выровнять выбранную вкладку в tablayout
- 12. Программно меняя выбранную вкладку tabBarController
- 13. Отключить выбранную вкладку по умолчанию
- 14. Как рисовать только выбранную вкладку
- 15. Перейдите на ранее выбранную вкладку в AngularJs
- 16. rails_admin: установить выбранную вкладку в вложенной форме
- 17. Как выделить выбранную вкладку в sap.m.IconTabBar?
- 18. Выделите выбранную вкладку в Xamarin Forms UWP
- 19. изменить выбранную вкладку в JTabbedPane «автоматически»
- 20. Как запомнить последнюю выбранную вкладку в UITabBarController?
- 21. Сохранять последнюю выбранную вкладку, выбранную после перенаправления страницы
- 22. Закройте вкладку с кликом, а не текущую выбранную вкладку JTabbedPane
- 23. TabControl теряет выбранную вкладку на Window.Show
- 24. Tab Bar Controller - как переустановить выбранную вкладку
- 25. JQuery Tabs - динамически возвращает выбранную вкладку
- 26. Установить URL-адрес через выбранную вкладку jQuery
- 27. Измените выбранную вкладку после операции CRUD - Ionic2
- 28. iPhone TabBarController - настроить выбранную вкладку программно
- 29. Измените выбранную вкладку после получения Push-уведомления
- 30. Загрузить содержимое на выбранную вкладку (Foundation)
Возможно, переопределить 'onStop()' для записи текущей выбранной вкладки, а затем установить эту вкладку в 'onResue()' может работать? – moarCoffee
См. Этот [связанный вопрос] (http://stackoverflow.com/questions/5317660/save-the-tab-state-during-orientation-change/5317710#5317710), но используйте 'onPause()' и 'onResume() вместо этого. – OJ7
Сохраните свою позицию в 'onPause()' в 'SharedPreferences' и восстановите правильную вкладку в' onResume() '. – Vucko