实现向上导航



我正在尝试在我的Android应用程序上实现一个好的向上导航。

例如,我想从DetailsActivityMasterActivity.为此,我使用以下代码:

final Intent upIntent = new Intent(this, MasterActivity.class);
upIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
supportNavigateUpTo(upIntent);

如果MasterActivity已经在后台打开,它工作得很好:它关闭当前活动(以及堆栈中的所有活动MasterActivity)并在MasterActivity上触发方法onNewIntent

但是,如果MasterActivity不在堆栈中,则该方法只需关闭DetailsActivity,而不会发生任何其他操作。

我想实现的是,如果MasterActivity不在堆栈中,则关闭当前的 aActivity 并创建MasterActivity的新实例。

我已经尝试了以下标志组合,但没有成功:

Intent.FLAG_ACTIVITY_SINGLE_TOP
Intent.FLAG_ACTIVITY_CLEAR_TOP
Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP
Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK
Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK

您对如何解决我的问题有任何想法吗?

非常感谢您的时间

编辑

需要在运行时指定父活动。事实上,父活动可以是ActivityAActivityBActivityC

让我更好地解释这个问题。我的应用管理电视节目。我有一个MainActivty,一个TVShowActivity,一个SeasonActivity和一个EpisodeActivity

在每个活动的导航抽屉中,我希望能够跳转到父活动:

-EpisodeActivity我想去SeasonActivityTVShowActivityMainActivity;

-SeasonActivity我想去TVShowActivityMainActivity;

-TVShowActivity我想去MainActivity.

如果我的活动堆栈如下所示,我的应用程序当前可以工作:MainActivty => TVShowActivity => SeasonActivity => EpisodeActivity

问题是有时用户可以直接从MainActivity访问EpisodeActivity,我希望能够使用相同的导航模式。

在每个活动上,您可以保留两个按钮,例如在其 xml 的属性中提供 onclick 事件,并在 java 类中提供意图代码:

' 公共无效 youronclickname(View v) { Intent mytent = new Intent(您的源类,到目标类); startActivity(myintent); } '

同样,在下一节课上尝试一下

相关内容

  • 没有找到相关文章

最新更新