【问题标题】:onSavedInstanceState not working on return to the activityonSavedInstanceState 无法返回活动
【发布时间】:2013-09-06 00:05:31
【问题描述】:

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

我尝试保存两个整数以将活动留给另一个活动,然后当我返回原始活动时,我得到一个空包。

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

我使用 savedInstanceState 包在屏幕旋转时保存变量,它在这种情况下工作,但是当我离开查看另一个活动并稍后返回此活动时,包没有保存。返回时为空。

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);
    }

【问题讨论】:

    标签: android oncreate datapersistance


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-06
      • 2021-09-30
      相关资源
      最近更新 更多