gpt4 book ai didi

android - 如何导航到不在返回堆栈上的父 Activity ?

转载 作者:行者123 更新时间:2023-11-29 01:21:48 24 4
gpt4 key购买 nike

我正在尝试导航到父 Activity 。如果父 Activity 位于返回堆栈的顶部,则它有效。如果父 Activity 不在返回堆栈中,则使用 NavUtils 向上导航会简单地返回到上一个 Activity。

我的应用的最低 SDK 是 16。

list fragment :

<activity
android:name=".activities.ParentActivity"
android:label="@string/title_activity_parent"
android:theme="@style/AppTheme.NoActionBar"
android:launchMode="singleTop"/>
<activity
android:name=".activities.ChildActivity"
android:label="@string/title_activity_child"
android:parentActivityName=".activities.ParentActivity">

ChildActivity 的代码 fragment :

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent intent = new Intent();
intent.setClass(this, ParentActivity.class);
NavUtils.navigateUpTo(this, intent);
return true;
}
return super.onOptionsItemSelected(item);
}

我已经尝试了几种不同的方式来实现向上导航,但都没有解决这个问题。将 ParentActivity 的启动模式更改为“标准”也不起作用。

最佳答案

NavUtils.navigateUpTo(Intent) 如果父 Activity 不在堆栈中,则不会创建它。您的最小 API 是 16,因此您可以直接调用堆栈导航方法而无需使用支持类。

在这种情况下,您应该调用 onNavigateUp()方法。如果你想自定义向上导航,你也可以覆盖 shouldUpRecreateTask(Intent)onPrepareNavigateUpTaskStack(TaskStackBuilder) .如果 shouldUpRecreateTask(Intent) 返回 true,如果堆栈中不存在父 Activity,则将创建它。

关于android - 如何导航到不在返回堆栈上的父 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36391478/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com