gpt4 book ai didi

android - 如何覆盖android :launchMode ="singleTop"?

转载 作者:太空狗 更新时间:2023-10-29 15:00:44 25 4
gpt4 key购买 nike

我有一个 SearchActivity,它在 list 中用 android:launchMode="singleTop" 定义。

我的 SearchActivity 包括一个供用户输入查询的 SearchView 和一个用于显示搜索结果的 ViewPager

我为 SearchActivity 选择了单顶,因此用户可以在 Activity 中进行大量搜索,然后只需按一次返回按钮即可返回主屏幕。

但是,我刚刚在 Activity 中引入了一个“SmartSearch”按钮,按下该按钮时将触发自动高级搜索,结果仍显示在 SearchActivity 中。

不过,要求是我需要这些高级搜索结果显示在堆栈上的新 Activity 中 - 也就是说,当用户按下返回时,它们将被带到上一个(标准)结果屏幕,然后必须再次按“返回”才能返回主屏幕。

我读过 this about launch modes还有这个about tasks and back stack ,并尝试使用这样的 Intent 启动“高级”SearchActivity...

smartSearchIntent.putExtra(SearchResultsActivity.QUERY_EXTRA_KEYS, selectionArgs);
smartSearchIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

...我也尝试使用 Intent.FLAG_ACTIVITY_NEW_TASK 作为参数,但是当我在高级搜索结果屏幕上按返回时,它直接跳回主屏幕。

一直以来,我在 list 中为此 Activity 定义了 android:launchMode="singleTop" 因为这是“正常”行为 - 所以是否可以覆盖它,如果是的话,如何?

或者有更好的解决方案吗?

最佳答案

我为此制定了解决方案/解决方法。刚刚在这里发布了我对有相关问题的人的回答 - https://stackoverflow.com/a/27125107/1617737 .

关于android - 如何覆盖android :launchMode ="singleTop"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27112705/

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