0

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

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

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

我使用 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);
    }
4

1 回答 1

1

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

于 2013-08-22T07:17:04.933 回答