onPause而不是onSaveInstanceState

伍德兹

在了解了保存非UI信息的重要性之后,onPause我试图用的代码替换我正在使用的onSavedInstanceState代码onPause所以我有这样的代码被保存和恢复的ArrayList作为的一部分savedInstanceState

public class SetUpPlayers extends Activity implements OnClickListener 

...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.set_up_players);

    if (savedInstanceState != null)
                setUpArrayList = (ArrayList<SetUpListItem>) savedInstanceState.getSerializable("setUpArrayList");
    else 
                ...

@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
     savedInstanceState.putSerializable("setUpArrayList", (Serializable) setUpArrayList);
     super.onSaveInstanceState(savedInstanceState);    
}

如何使用onPause加我的序列化ArrayListsavedInstanceStateonCreate会回暖?还是我需要从首选项保存并加载它?

戴维·沃特

您已经setUpArrayList将实例状态捆绑包保存了。这种捆绑将被传递到您的活动onCreate(),并在onRestoreInstanceState()每次活动的这个实例被重建。如果您的应用程序进入后台并且Android终止了托管该应用程序的进程,然后用户返回到您的应用程序(通过再次启动它或从“最近任务”列表中选择它),就会发生这种情况。

但是,如果用户退出您的活动(例如,通过使用BACK按钮),然后再次启动您的活动,则传递给的实例状态onCreate()将为null。如果您还希望setUpArrayList在这种情况下能够还原,则需要将其存储在某些持久性存储中(数据库,共享首选项等)。在这种情况下,您可以序列化为setUpArrayListaString并将其写入持久性存储中(或者您可以使用更结构化的方法,例如XML或JSON)。您应该在中执行此操作onPause()然后,如果实例状态参数为null,则onCreate()可以setUpArrayList从持久性存储中还原

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

片段未调用onSaveInstanceState

来自分类Dev

片段未调用onSaveInstanceState

来自分类Dev

Android-保存在onPause()中是否可以保存在onSaveInstanceState()中?

来自分类Dev

覆盖onSaveInstanceState

来自分类Dev

在onPause之后添加片段

来自分类Dev

onSaveInstanceState()应该在onDestroy()中,而不是onStop()中?

来自分类Dev

Stange onPause / onResume行为

来自分类Dev

如何使用onSaveInstanceState

来自分类Dev

onPause onResume替代?

来自分类Dev

将游戏状态保存在OnPause或OnSaveInstanceState中

来自分类Dev

GoogleMaps-调用onPause()

来自分类Dev

Android编程:调用onPause(),不调用onSaveInstanceState(...)

来自分类Dev

Android onpause未触发

来自分类Dev

在onSaveInstanceState中保存什么?

来自分类Dev

Android将ArrayList <CustomObject>保存在onPause和onSaveInstanceState

来自分类Dev

Android MediaPlayer onPause()

来自分类Dev

OnSaveInstanceState / RestCalls

来自分类Dev

在OnPause()之后片段OnResume()

来自分类Dev

Android-保存在onPause()中是否可以保存在onSaveInstanceState()中?

来自分类Dev

覆盖onSaveInstanceState

来自分类Dev

将游戏状态保存在OnPause或OnSaveInstanceState中

来自分类Dev

Android编程:调用onPause(),不调用onSaveInstanceState(...)

来自分类Dev

Android onpause未触发

来自分类Dev

在onPause中消除片段

来自分类Dev

为什么onSaveInstanceState在onPause之后调用

来自分类Dev

除了onPause以外的方法?

来自分类Dev

当我在后退按钮上添加 onpause 方法时,不是铃声应用程序的逻辑崩溃

来自分类Dev

onSaveInstanceState() 会自动保存什么?什么不是?

来自分类Dev

保持对象 onPause()

Related 相关文章

热门标签

归档