实施导航

时间:2014-11-17 12:32:54

标签: android android-intent up-navigation

我正在尝试在我的Android应用上实现良好的向上导航。

例如,我想从DetailsActivity转到MasterActivity。为此,我使用以下代码:

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

如果MasterActivity已在后台打开,则效果很好:它会关闭当前活动(以及堆栈中MasterActivity上的所有活动)并触发onNewIntent上的方法MasterActivity {1}}。

但是,如果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

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

非常感谢你的时间

修改

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

让我更好地解释这个问题。我的应用管理电视节目。我有MainActivtyTVShowActivitySeasonActivityEpisodeActivity

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

-On EpisodeActivity我想转到SeasonActivityTVShowActivityMainActivity;

-On SeasonActivity我想TVShowActivityMainActivity;

-On TVShowActivity我想转到MainActivity

我的应用程序当前有效,如果我的活动堆栈类似于:MainActivty => TVShowActivity => SeasonActivity => EpisodeActivity

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

1 个答案:

答案 0 :(得分:-1)

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

`public void youronclickname(View v)     {     Intent myintent = new Intent(你的源类,到目标类);     startActivity(myintent);     ''

同样尝试下一堂课