【发布时间】:2017-07-20 22:20:36
【问题描述】:
我有带有 searchView 的 Main Activity (A),它转到另一个 SearchResultActivity (B1),它显示搜索结果。
我也想在第二个 Activity 中有 searchView,所以如果用户想写另一个请求,他不必返回。 这意味着当用户从 SearchResultActivity 输入请求时,会触发另一个 SearchResultActivity (B2) 实例。
之后,如果用户按下工具栏上的向上按钮,它应该返回到活动 A,因为 A 被指定为 B 的父项。 但问题是,当你从 B2 按下返回按钮时,它会返回到 B1,而不是 A。
我读了这篇文章, https://inthecheesefactory.com/blog/understand-android-activity-launchmode/en 作者解释说您不应该创建同一活动的新实例,而是将该活动标记为
android:launchMode="singleTop"
在清单上并使用 onNewIntent() 方法重用相同的活动。这正是我需要的。
但我不能覆盖这个 onNewIntent() 方法,因为它显然不存在于我正在使用的 AppCompatActivity 中。 有什么方法可以将 onNewIntent() 与 AppCompatActivity 一起使用?还是仅对 Activity 有效?
【问题讨论】:
标签: java android android-studio android-intent android-activity