我有一个使用 SearchManager 处理搜索请求的 Activity ,它工作正常。我们将此 Activity 称为 MySearchActivity.java。问题是,在此 Activity 中,我有一个按钮可以通过调用 onSearchRequested() 来调用搜索请求对话框。
如果 MySearchActivity.java 是 Activity 堆栈中的当前任务,并且用户点击此 Activity 中调用 onSearchRequested() 的图标,则此 Activity 将在其自身之上重新启动。所以在 Activity 堆栈中,我有两个相同的 Activity 在彼此之上。
我不想在 list 中为此 Activity 使用 android:noHistory,也找不到任何其他适合我想要完成的标志。
我希望如果用户点击调用 onSearchRequested() 的 MySearchActivity.java 中的图标, Activity 不会在堆栈中复制自身。
我知道我可能忽略了某些东西或使它比实际情况更复杂......有什么想法吗?
最佳答案
对于解决方案,您可能必须将 Activity 的启动模式设置为“singleTop”(例如 android:launchMode="singleTop")。这是进一步的解释@ documentation .祝你好运!
关于android - 在处理搜索请求的同一 Activity 中调用方法 onSearchRequested() 会导致 Activity 堆栈重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936971/