在我的应用程序中,有一个活动 UserMenu,其中(在创建时)完成后续加载。我希望下次打开应用程序时,不应再次重新加载此屏幕 - 我想按原样保存 UserMenu 屏幕的状态。
我一直在通过这个,但我无法查看我必须实现的内容,我不想保存任何值,只是我想重新创建相同的屏幕,因为我可以在 android 中按下主页按钮。
请帮我解决我的问题。
谢谢
您需要遵循活动生命周期以使其变得简单。只需从onCreate()
方法调用函数来加载这些数据,使用将数据保存在某个独立类中ArrayList()
,并onResume()
显示存储的数据。ArrayList()
是的,内部onCreate()
检查大小这ArrayList()
只是为了确定数据是否已经加载。如果尚未加载,则加载它。否则不加载。
根据我的说法,这不可能就像您所说的关于主页按钮的内容。当按下主页按钮时,您的活动进入onPause()
,当您重新打开它时onResume()
。您可以执行您所关注的链接中的建议,即您可以使用保存Actvity
元素的值onSavedInstanceState()
也不能保证执行阅读此onSavedInstanceState
你可以这样做
在您的 UserMenu Activity 类中
@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);
}
因此,当您按下返回按钮时,Activity 不会被破坏并移至 Home,一旦您长按 Home 按钮或从菜单启动应用程序,它将不会再次加载 Activity。
谢谢