2013-03-08 185 views
1

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

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

请帮我解决我的问题。

感谢

+0

您能简单介绍一下后续的加载过程吗?您希望保存为屏幕状态的具体内容是什么? – 2013-03-08 06:56:58

+0

我有一个可扩展的列表视图,并得到它的阵列列表为组和孩子,也在asynctask一些API在背景调用 – 2013-03-08 06:59:04

回答

0

你可以这样做

在你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); 

    } 

所以,当你按下后退按钮的活动将不会被销毁,转移到家庭,一旦你将长按主页按钮或从菜单启动它的应用程序,它不会再次加载活动。

感谢

+0

艾米特,它不是一个好的解决方案。当我从任务管理器清除应用程序时会发生什么? – 2013-03-08 07:04:02

0

它根据我是不可能的,你说的对home键是什么像。当主页按钮被按下时,你的活动进入onPause(),当你重新打开它时,它出现在onResume()。你可以做什么,建议你在下面,即你可以使用onSavedInstanceState()也它没有保证执行阅读本onSavedInstanceState

0

您需要按照Activity Lifecycle,使其simple.just保存Actvity元素的值的链接从onCreate()函数调用方法加载这些数据,使用ArrayList()保存数据在某个独立类中,并在onResume()中显示ArrayList()中存储的数据。是的,在onCreate()里面检查该数据的大小,以判断数据是否正确已经加载或不加载。如果它尚未加载,请加载它,否则请勿加载。