在我的应用程序中,有一个活动UserMenu,其中(在创建时)后续加载完成。我希望下次打开应用程序时,不应再次重新加载此屏幕 - 我想保存UserMenu屏幕的状态。
我一直在this移动,但是我无法查看我必须实现的内容,我不想保存任何值,只是我想重新创建相同的屏幕,因为我可以按下主页android中的按钮。
请帮助我解决我的问题。
由于
答案 0 :(得分:0)
你可以这样做
在您的UserMenu活动类
中@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
goToHome();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void goToHome() {
moveTaskToBack(true);
}
因此,当您按下后退按钮时,活动将不会被销毁并移至主页,一旦您长按主页按钮或从菜单启动您的应用程序,它将不会再次加载活动。
由于
答案 1 :(得分:0)
根据我的说法不可能像你说的关于主页按钮。当按下主页按钮时,您的活动进入onPause()
,当您重新打开时,它会进入onResume()
。您可以执行您所关注的链接中建议的内容,即您可以使用Actvity
保存onSavedInstanceState()
元素的值,但也无法保证执行此内容onSavedInstanceState
答案 2 :(得分:0)
您需要关注Activity Lifecycle才能使其变得简单。只需从onCreate()
方法调用函数来加载这些数据,使用ArrayList()
将数据保存在某个独立类中,并且在onResume()
中显示来自ArrayList()
的存储数据。是,在onCreate()
内检查ArrayList()
的大小,以确定数据是否已加载。如果没有加载,请加载它。否则不要加载。