Java NavUtils navigateUpFromSameTask()和onSaveInstanceState()
我是android开发的新手,我面临着一个问题。 我有一个活动,它包含一个ListFragment。点击列表项后,新活动开始。我决定用菜单栏上的Home按钮在儿童活动中进行反向导航Java NavUtils navigateUpFromSameTask()和onSaveInstanceState(),java,android,Java,Android,我是android开发的新手,我面临着一个问题。 我有一个活动,它包含一个ListFragment。点击列表项后,新活动开始。我决定用菜单栏上的Home按钮在儿童活动中进行反向导航 if (NavUtils.getParentActivityName(getActivity()) != null){ ((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
if (NavUtils.getParentActivityName(getActivity()) != null){
((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
我还需要将整数值保存到父活动中。所以我重写了onSaveInstanceState()
但当我点击子活动的返回箭头并调用父活动的onCreate方法时,参数Bundle似乎为null,直到下面代码的日志为止
if (savedInstanceState != null){
intVal = savedInstanceState.getInt(TAG_INT_VAL_SAVED);
Log.d("ACTIVITY_STATE", " onSave getting data"); // Never appears at LogCat
} else {
// code to assign intVal as if the Activity was just started
}
我有点困惑,所以我想请你们帮忙。你能告诉我什么时候导航吗?我该怎么做才能保存intVal?谢谢大家!
B.t.w.在屏幕旋转时工作正常-成功检索值
清单如下所示:
<activity
android:name=".ListItemActivity"
android:label="@string/app_name" >
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".MyListActivity"/>
</activity>
<activity android:name=".MyListActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
if (savedInstanceState != null){
intVal = savedInstanceState.getInt(TAG_INT_VAL_SAVED);
Log.d("ACTIVITY_STATE", " onSave getting data"); // Never appears at LogCat
} else {
// code to assign intVal as if the Activity was just started
}
<activity
android:name=".ListItemActivity"
android:label="@string/app_name" >
<meta-data android:name="android.support.PARENT_ACTIVITY"
android:value=".MyListActivity"/>
</activity>
<activity android:name=".MyListActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>