我有一个Android标签应用程序。假设在第三个选项卡上,我退出了应用程序。当我再次启动应用程序时,它会重新显示并显示第一个选项卡。我的要求是当应用程序启动时它应该转到之前选择的选项卡。怎么做?
答案 0 :(得分:3)
您必须覆盖方法“onSavedInstanceState”
请看这个问题:
Saving Android Activity state using Save Instance State
在那里详细描述。
编辑:正如评论中所述,这仅适用于您在手机上关闭应用的正常方式,并且在重启手机后也不会持久,也不会在您的应用程序处理过程中终止。
答案 1 :(得分:1)
如果您想要这一切,请覆盖活动的后退按钮,并使用SharedPeferences
保存当前显示标签的值int currentTab = mHost.getCurrentTab();
并在你的布局膨胀后在OnCreate中获取上面存储的值并使用
将该值设置为当前选项卡TabHost mHost = new TabHost(this);
mHost.setCurrentTab(currentTab );
答案 2 :(得分:1)
为此您需要在共享首选项中保存一些标记,当应用程序再次启动时,您必须从共享首选项中读取它,并根据优先保存的标记调用该特定选项卡。
答案 3 :(得分:1)
为此你可以像这样使用SharedPeferences。
SharedPreference s readHistory = context.getSharedPreferences(className.PREFS_NAME,0);
return readHistory.getString("from", "");
从您的所有活动中设置pres。
并检查您何时再次启动您的应用。
如果(frmAct.equalsIgnoreCase( “活性1”)) {
\\在这里打电话给你的活动
}else if(frmAct.equalsIgnoreCase(“activity2”)) { 在这里打电话给你的活动 }
答案 4 :(得分:1)
您可以保存数据以备将来使用:
1)您可以将简单数据保存在sharedpreferences中。 2)您也可以将数据保存在数据库中
要保存最后一个数据,您需要将数据保存在activity的onStop()方法中。因为在退出应用程序之前,会调用当前活动的onStop()方法。
此链接Data Storage in Android会对您有所帮助。