所以我只是试图“记住”使用后退按钮关闭应用时选择的标签。
在早期的问题和一些研究中,我在我的标签中有:
mSetTab();
}
public void onResume()
{
super.onResume();
mSetTab();
}
private void mSetTab()
{
SharedPreferences myPrefs =
this.getSharedPreferences("myPrefs",MODE_WORLD_READABLE);
myPrefs.edit().putInt("tabToggle", 2).commit();
}
现在我用另一个'toast'“tabToggle”中的值来测试它,它看起来非常愉快。
在OnCreate的MainActivity中,我有:
tabHost.setCurrentTab(mCheckTab());
}
private int mCheckTab()
{
SharedPreferences myPrefs = this.getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
int whichTab = myPrefs.getInt("tabToggle",0);
return whichTab;
}
这令我感到沮丧,因为无论我做什么,似乎总是会回来0。所以我认为我的部分代码错了,但无法解决问题。
我们非常感谢任何帮助。
菲尔
答案 0 :(得分:0)
尝试在this.getSharedPreferences使用getApplicationContext()而不是this。
答案 1 :(得分:0)
尝试使用
PreferenceManager.getDefaultSharedPreferences(this)
答案 2 :(得分:0)
您正在从onResume()调用mSetTab方法。你应该从onPause()调用它。