在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时,我不是登陆片段C,而是片段A。父活动似乎再次重新启动或初始化。
在儿童活动中,我有:
@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);
}
作为比较,我还尝试将ChildActivity替换为片段D,并且片段D的支持正确地落在片段C上。
我错过了儿童活动实施的哪些地方?
编辑:刚刚注意到,当单击设备上的"返回"按钮时,它会正确返回ParentActivity的片段C,但是如果点击子活动左上角的"<"按钮,这就是问题出现的地方。
提前感谢!
肖恩
从您的孩子活动中删除提及的父级。如下所示。因为安卓已经维护了导航堆栈
<activity
android:name=".mypackage.ChildActivity"
android:label="Child"
android:parentActivityName=".mypackage.ParentActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden|adjustResize">
</activity>