我试图在离开活动时保存值,并在返回屏幕时检索。 所以我正在使用onSaveInstanceState方法来保存数据,并在返回时使用onCreate方法中的Bundle对象。
以下是我的情景..
活动A:
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);}};
我可以在离开PointLogActivity时看到onSaveInstanceState方法的日志。
PointLogActivity:
@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);
}
我将通过活动左上角的单击后退按钮返回活动A. 但是当回到Activity时,我无法从Bundle对象中找到日期并从null条件获取日志。
savedInstanceState value is null
所以有人可以告诉我哪里出错了。
答案 0 :(得分:0)
我通过将以下内容放在清单文件中的父活动来解决它。
机器人:launchMode =" singleTop">