保存活动状态 -

时间:2013-03-08 06:52:03

标签: android bundle

在我的应用程序中,有一个活动UserMenu,其中(在创建时)后续加载完成。我希望下次打开应用程序时,不应再次重新加载此屏幕 - 我想保存UserMenu屏幕的状态。

我一直在this移动,但是我无法查看我必须实现的内容,我不想保存任何值,只是我想重新创建相同的屏幕,因为我可以按下主页android中的按钮。

请帮助我解决我的问题。

由于

3 个答案:

答案 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()的大小,以确定数据是否已加载。如果没有加载,请加载它。否则不要加载。