gpt4 book ai didi

java - Android onsaveinstancestate()

转载 作者:行者123 更新时间:2023-12-01 18:54:24 25 4
gpt4 key购买 nike

所以我了解了如何使用的主要想法

  protected void onSaveInstanceState (Bundle outState)

http://developer.android.com/reference/android/app/Activity.html#onSaveInstanceState(android.os.Bundle)

同样来自Saving Android Activity state using Save Instance State

但我的问题是,如果这是第一次创建应用程序怎么办?那么之前 bundle 中不会存储任何内容......如果是这样,那么当我尝试从 bundle 中调用之前尚未保存的内容时,我会得到什么?空?例如我的代码中有这个

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String [] b=savedInstanceState.getStringArray("MyArray");
}
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
String [] a={"haha"};
savedInstanceState.putStringArray("MyArray", a);
}

第一次打开应用程序时,b 的值是多少?应用程序使用一次后,b 的值是多少?

非常感谢!

最佳答案

在你的onCreate()中添加条件

 if(savedInstanceState==null){
//meaning no data has been saved yet or this is your first time to run the activity. Most likely you initialize data here.
}else{
String [] b=savedInstanceState.getStringArray("MyArray");
}

顺便说一句,要检索保存在 onSaveInstanceState 中的数据,您将覆盖它

 @Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onRestoreInstanceState(savedInstanceState);
}

关于java - Android onsaveinstancestate(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14596272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com