基本的に、アプリを終了したときに最後に開いたタブをアプリで「記憶」しようとしています。次に起動したときにそのタブで開くようにします。
したがって、メインアクティビティとしてタブホストがあり、5つのタブアクティビティのそれぞれでメソッドを呼び出します。
private void mSetTab(){
SharedPreferences myPrefs=this.getSharedPreferences("myPrefs",MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor = myPrefs.edit();
prefsEditor.putInt("tabToggle", X);
}
ここで、Xはタブに応じて0〜4です。
私のmainActivityには次のものがあります。
tabHost.setCurrentTab(mCheckTab());
どの呼び出し:
private int mCheckTab()
{
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
int whichTab = myPrefs.getInt("tabToggle",0);
return whichTab;
}
これはすべて、ホームキーを使用すると正常に機能するように見えますが、プログラムを終了するために戻るボタンを使用すると、常に0が読み込まれるように見えます。
これを回避する方法はありますか?
乾杯
フィル