在AndroidManifext.xml中,我有:
<activity
android:name=".mypackage.ChildActivity"
android:label="Child"
android:parentActivityName=".mypackage.ParentActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value=".view.activities.ParentActivity" />
</activity>
在ParentActivity中,我有一些片段,A,B,C。在片段C,我点击按钮时启动ChildActivity。当支持ParentActivity时,我没有登陆Fragment C,而是片段A.看来ParentActivity再次重新启动或初始化。
在ChildActivity中,我有:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
作为比较,我还尝试用片段D替换ChildActivity,并且从片段D开始正确地放在片段C上。
我在哪里错过了ChildActivity实施?
编辑: 刚注意到点击&#34;返回&#34;设备上的按钮,它正确地返回到ParentActivity的片段C,但是如果按下&#34;&lt;&#34; “儿童活动”左上角的按钮,即出现问题的地方。
提前致谢!
肖恩
答案 0 :(得分:0)
从childActivity中删除提及的父级。如下。因为android已经维护了导航堆栈
<activity
android:name=".mypackage.ChildActivity"
android:label="Child"
android:parentActivityName=".mypackage.ParentActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize">
</activity>