离开 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">
我试图在离开 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">