我有活动A和两个片段,称为片段A和片段B. 在片段B列表视图中实现。在单击任何列表项时,新活动将被实例化(活动B)。方案2的问题 如果用户按下主页按钮并再次恢复活动,则活动2将恢复。如果用户按下后退按钮,则恢复活动后,活动进入暂停阶段,而不是返回到父片段(片段2){ {3}}
活动2的清单
<activity
android:name=".activity.Activity2"
android:label="@string/label1"
android:parentActivityName=".activity.Activity1"
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.test.activity.Activity1" />
</activity>
让我知道导致此行为的原因。当活动B进入暂停状态时,如何保留片段B.或任何其他解决方案?
答案 0 :(得分:3)
您可以覆盖第二个活动的onBackPressed
,以便始终返回显示片段B的第一个活动。
@Override
public void onBackPressed() {
Intent intent = new Intent(this, Activity1.class);
intent.putExtra("some tag", "some text");
startActivity(intent);
}
在你的第一个活动中,做一些事情:
@Override
protected void onNewIntent(Intent intent)
{
super.onNewIntent(intent);
if(intent.getStringExtra("some tag").equals("some text"))
{
methodToDisplayFragmentB();
}
}
希望这有帮助。