1、Manifest:关联上下级Activity
2、子Activity设置:是否接受onCreateOptionsMenu的调用,值为true时onOptionsItemSelected(...)函数调用才能生效<activity android:name=".subActivity" android:label="@string/app_name"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".parentActivity"/> </activity>
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... setHasOptionsMenu(true); }3、点击Item返回父Activity,调用Navtils.navigateUpFromSameTask(...)
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(getActivity()); return true; default: return super.onOptionsItemSelected(item); } }4、一般情况下,为了返回时保持父Activity的唯一性,需要在Manifest设置启动模式(LaunchMode)
<activity android:name=".subActivity" android:label="@string/app_name" android:launchMode="singleTop"> <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".parentActivity"/> </activity>