onSaveInstanceState无法返回活动

时间:2013-08-22 07:14:42

标签: android oncreate datapersistance

使用按钮单击按钮转到另一个活动,然后返回原始活动。

我试图在保留其他活动的活动时保存两个整数,然后当我返回到原始活动时,我得到该包的空值。

有谁知道为什么这不起作用?

我使用savedInstanceState包来保存屏幕旋转变量,它在这种情况下工作,但是当我离开去查看另一个活动然后返回到此活动时,捆绑包没有保存。返回时返回null。

onSavedInstanceState方法

  @Override
public void onSaveInstanceState(Bundle outState){
super.onSaveInstanceState(outState);

outState.putInt("index", index);
outState.putInt("top", top);

} // end onSavedInstanceState

onCreate方法的第一部分,包含获取savedInstatnceState保存变量的代码

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_inspectioninfoselectionlist);

    if(savedInstanceState!=null){
        index = savedInstanceState.getInt("index");
        top = savedInstanceState.getInt("top");
        Log.i("$$$$$$$", "value of index and top returned after activity starts" + index +  " " + top);
    }else if (savedInstanceState == null){
        Log.i("$$$$$$$", "saved instance state is null" + index +  " " + top);
    }

1 个答案:

答案 0 :(得分:1)

发生配置更改时会调用

onSaveInstanceState(),例如屏幕方向,语言更改等 打开另一个活动不是配置更改,这就是不调用该方法的原因。