Android - 使用后退按钮关闭后打开时仍然无法设置选项卡

时间:2011-04-04 13:12:51

标签: android android-tabhost sharedpreferences

所以我只是试图“记住”使用后退按钮关闭应用时选择的标签。

在早期的问题和一些研究中,我在我的标签中有:

    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。所以我认为我的部分代码错了,但无法解决问题。

我们非常感谢任何帮助。

菲尔

3 个答案:

答案 0 :(得分:0)

尝试在this.getSharedPreferences使用getApplicationContext()而不是this。

答案 1 :(得分:0)

尝试使用

PreferenceManager.getDefaultSharedPreferences(this)

答案 2 :(得分:0)

您正在从onResume()调用mSetTab方法。你应该从onPause()调用它。