2

我的应用程序中有搜索功能。当从“显示活动”调用搜索栏并且用户执行搜索时,我想完成显示活动并将用户带到搜索活动。有没有办法知道 SearchManager.onDismissListener 是否因为正在执行搜索而被调用?

我要避免的是有几个搜索结果屏幕 > 显示 > 搜索结果 > 显示等,而是在执行搜索时“返回”搜索结果,因此只有一个搜索活动和一个显示活动随时堆叠。

4

1 回答 1

2

如果我正确理解您的问题,您希望防止多次创建搜索活动。

Android 文档中搜索对话框对您的活动生命周期的影响有您想要的解释。

本质上,您希望在清单中定义可搜索活动时设置android:launchMode为。"singleTop"从链接上的示例中,您将拥有如下内容:

    <activity android:name=".SearchableActivity"
              android:launchMode="singleTop" >
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter>
        <meta-data android:name="android.app.searchable"
                   android:resource="@xml/searchable"/>
    </activity>

但是请注意遵循他们关于使用onCreateand处理意图的建议onNewIntent,而不是在此处重复,我只会将您引至该链接。

你也可以对你的表演活动做同样的事情android:launchMode="singleTop"

于 2011-05-09T21:22:02.623 回答