离开 activity 时,值不会保存在 onSaveInstanceState 中

Values are'nt saved in onSaveInstanceState while leaving the activity

我试图在离开 activity 时保存值并在返回屏幕时检索。 所以我使用 onSaveInstanceState 方法保存数据,并在返回时使用 onCreate 方法中的 Bundle 对象。

下面是我的场景..

Activity答:

    protected void onCreate(Bundle savedInstanceState) {
    if (savedInstanceState != null) {
    Log.d(TAG, "Object received from savedInstanceState");
    }
    else{
    Log.d(TAG, "savedInstanceState value is null");
    }
}

    public void onSaveInstanceState(Bundle savedInstanceState) {
    super.onSaveInstanceState(savedInstanceState);
    Log.d(TAG, "In onSaveInstanceState");
    savedInstanceState.putString("obj_name", DashBoardDisplay_l.getName());
    }

OnClickListener save_click = new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent i = new Intent(getApplicationContext(),PointLogActivity.class);
i.putExtra("ref_name", Name_ref);
startActivity(i);}};

我在离开 PointLog 时可以看到 onSaveInstanceState 方法的日志Activity。

点数Activity:

@Override
protected void onCreate(Bundle savedInstanceState){
Intent intent = getIntent();
String YourtransferredData = intent.getExtras().getString("ref_name");
Log.d(TAG, "ref name "+YourtransferredData);
Name=YourtransferredData;
//For getting back button
getActionBar().setDisplayHomeAsUpEnabled(true);
}

我将返回 Activity A,方法是单击 activity 左上角的后退按钮。 但是当回到 Activity 时,我无法从 Bundle 对象中找到日期,也无法从空条件中获取日志。

savedInstanceState value is null

那么谁能告诉我哪里错了。

我通过将以下内容放在清单文件中的父 activity 处解决了这个问题。

android:launchMode="singleTop">