Android - Как бороться с кнопкой возврата, закрывающей мое приложение и перезагружаемой на правой вкладке

1

В основном я пытаюсь "запомнить" в своем приложении последнюю вкладку, когда приложение было закрыто. Чтобы он открывался на этой вкладке, когда он запустился.

Итак, у меня есть табуст в качестве основного действия, и в каждой из пяти действий я вызываю метод:

private void mSetTab(){
    SharedPreferences myPrefs=this.getSharedPreferences("myPrefs",MODE_WORLD_READABLE);
    SharedPreferences.Editor prefsEditor = myPrefs.edit();
    prefsEditor.putInt("tabToggle", X);
}

Где X равно 0-4 в зависимости от вкладки.

В моей основной деятельности я:

tabHost.setCurrentTab(mCheckTab());

Какие вызовы:

private int mCheckTab() 
{
    SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
    int whichTab = myPrefs.getInt("tabToggle",0);

    return whichTab;
}

Все это работает нормально, когда используется ключ "Домой", но когда кнопка "Назад" используется для выхода из программы, она всегда загружается 0.

Любые идеи, как я обойду это?

Приветствия

Фил

Теги:
button
back
android-tabhost

2 ответа

0
Лучший ответ

Вам нужно позвонить commit. Это хороший способ сделать это, поскольку каждый из методов редактора возвращает редактор по очереди:

SharedPreferences myPrefs =
    this.getSharedPreferences("myPrefs",MODE_WORLD_READABLE);
myPrefs.edit().putInt("tabToggle", X).commit();

Вероятно, домашний ключ работал, потому что ваше приложение не закрывалось и все еще работало в фоновом режиме.

  • 0
    Спасибо, Мэтт, я знал, что это будет нечто очевидное! :)
0

Вы забыли позвонить commit() в свой prefsEditor после внесения изменений?

  • 0
    Еще что-то не совсем правильное в моей основной деятельности: tabHost.setCurrentTab (mCheckTab ()); } private int mCheckTab () {SharedPreferences myPrefs = this.getSharedPreferences ("myPrefs", MODE_WORLD_READABLE); int whichTab = myPrefs.getInt ("tabToggle", 0); вернуть whichTab; } Но, похоже, он всегда возвращает 0, поэтому приложение запускается на первой вкладке? Есть идеи?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню