在处理搜索请求的同一活动中调用方法onSearchRequested()会导致活动堆栈中的重复

时间:2012-01-20 05:05:14

标签: android android-searchmanager

我有一个使用SearchManager处理搜索请求的活动,它运行正常。我们将此活动称为MySearchActivity.java。问题是在这个活动中,我有一个按钮,通过调用onSearchRequested()来调用搜索请求对话框。

如果MySearchActivity.java是活动堆栈中的当前任务,并且用户点击此活动中调用onSearchRequested()的图标,则此活动将在其自身之上重新启动。所以在活动堆栈中,我有两个相同的活动在彼此之上。

我不想在此活动的清单中使用android:noHistory,并且找不到任何其他适合我想要完成的标记。

我希望如果用户点击调用onSearchRequested()的MySearchActivity.java中的图标,那么该活动不会在堆栈中复制。

我知道我可能会忽略某些东西或者让它变得比实际更复杂......任何想法?

1 个答案:

答案 0 :(得分:0)

对于解决方案,您可能必须将启动模式设置为“singleTop”以进行活动(例如android:launchMode =“singleTop”)。这是进一步的explenation @ documentation。祝你好运!