gpt4 book ai didi

android - ActionBar 向上按钮和导航模式

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:37:30 26 4
gpt4 key购买 nike

我想实现 Navigation Pattern在我的应用程序中使用 ActionBar 中的向上按钮。

我有详细信息 Activity ,在这里我可以来自主页、收藏夹和搜索屏幕。我也可以从浏览器打开这个屏幕(处理特定的 url)。当用户按下向上按钮时,我使用 flush() 方法来模拟返回导航。但是对于这种情况,当用户来自浏览器时,我想打开主屏幕而不是以前的浏览器 Activity 。我如何识别之前的 Activity 来自另一个应用,然后导航到主屏幕?

最佳答案

Up 应始终导航到 Activity 的分层父级,而 Back 应始终临时导航。

换句话说,你应该保持原样。

至于Up,不管它来自哪里,它应该总是去同一个地方。因此,如果您通常从 YourListActivity 到达 DetailsActivity,那么无论您来自哪里,Up 都应该始终到达那里。最有可能的位置由您自行决定,但它应该始终相同。

如果您从非正常位置(例如浏览器、另一个 Activity 、小部件或通知)进入详细信息 Activity ,您应该重新创建您的任务堆栈,以便在同一路径中导航用尽结果。以下是来自 Android 开发人员培训的示例:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Intent upIntent = new Intent(this, YourListActivity.class);
if (NavUtils.shouldUpRecreateTask(this, upIntent)) {
// This activity is not part of the application's task, so
// create a new task
// with a synthesized back stack.
TaskStackBuilder
.from(this)
.addNextIntent(new Intent(this, HomeActivity.class))
.addNextIntent(upIntent).startActivities();
finish();
} else {
// This activity is part of the application's task, so simply
// navigate up to the hierarchical parent activity.
NavUtils.navigateUpTo(this, upIntent);
}
return true;
}
}

这是关于实现导航的 Android 培训

(http://developer.android.com/training/implementing-navigation/index.html)。

您将需要 NavUtils 和 TaskStackBuilder 的支持库。

关于android - ActionBar 向上按钮和导航模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10753281/

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