我在清单中使用SearchActivity
定义了android:launchMode="singleTop"
。
我的SearchActivity
包含SearchView
,用户可以输入查询,还有ViewPager
来显示搜索结果。
我为SearchActivity
选择了单个顶部,因此使用可以在活动中进行大量搜索,然后只需按一次返回按钮即可返回主屏幕。
但是,我刚刚介绍了一个" SmartSearch"按钮进入活动状态,当按下该按钮时,将触发自动高级搜索,结果仍会显示在SearchActivity
中。
但要求是,我需要这些高级搜索结果显示在堆栈上的新活动中 - 即,当用户按下Back时,它们将被带到之前的(标准)结果屏幕,然后必须再次按返回以返回主屏幕。
我已阅读this about launch modes和此about tasks and back stack,并试图推出“先进版”' SearchActivity
使用这样的意图......
smartSearchIntent.putExtra(SearchResultsActivity.QUERY_EXTRA_KEYS, selectionArgs);
smartSearchIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
...我也尝试使用Intent.FLAG_ACTIVITY_NEW_TASK
作为参数,但当我在高级搜索结果屏幕上按Back时,它会直接跳回主屏幕。
我一直在此活动的清单中定义android:launchMode="singleTop"
,因为这是正常的'行为 - 所以可以覆盖这个,如果是这样,怎么做?
或者有更好的解决方案吗?
答案 0 :(得分:0)
我为此制定了解决方案/解决方法。刚刚发布了我的答案给有相关问题的人 - https://stackoverflow.com/a/27125107/1617737。