我有 2 个名为FirstActivity.java
and SecondActivity.java
.
当我点击一个按钮时FirstActivity
, 我打电话SecondActivity
。当我从SecondActivity
,根据结果,我需要跳过一些步骤FirstActivity
这是在其执行onCreate()
method.
从回来SecondActivity
I used Bundle
将我作为输入提供的数据放入Intent
。我访问了该数据onCreate()
第一个活动的。
当我开始时,活动应用程序崩溃,显示为NullPointerException
在我访问第二个活动的数据的行中。
我认为原因是当应用程序第一次启动时,Bundle
那么,有人可以帮我解决这个问题吗?
您必须实现 onSaveInstanceState(Bundle savingInstanceState) 并将要保存的值保存到 Bundle 中。实现 onRestoreInstanceState(Bundle savingInstanceState) 来恢复 Bundle 并再次设置数据:
public class MyActivity extends Activity {
/** The boolean I'll save in a bundle when a state change happens */
private boolean mMyBoolean;
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putBoolean("MyBoolean", mMyBoolean);
// ... save more data
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
mMyBoolean = savedInstanceState.getBoolean("MyBoolean");
// ... recover more data
}
}
在这里您可以找到有关状态处理的使用文档:http://developer.android.com/reference/android/app/Activity.html
只需在文档中搜索此方法即可:P
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)