IMO,搜索动作包含两个过程“收集用户输入”和“做搜索工作”。
每个进程都需要一个活动来存活,也就是说“收集用户输入”应该位于一个活动中,“做搜索工作”也是如此。
正如导游所说:
当用户从搜索对话框或搜索小部件执行搜索时,系统会创建一个 Intent 并将用户查询存储在其中。然后系统启动您声明的用于处理搜索的活动(“可搜索活动”)并将其传递给意图。
这让我觉得 JSP 页面a.jsp
包含一个收集用户输入的表单,该表单将被提交b.jsp
或其他。
假设我有一个ActivityA
保存搜索小部件并ActivityB
处理搜索(这应该是 so 的一面SearchableActivity
)。
现在我想知道ActivityA
andActivityB
是否应该是同一个?
采取以下xml祝贺:
<activity
android:name="com.app.MainActivity"
android:label="@string/title_activity_main"
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>
这是否意味着MapActivity
它将处理来自整个应用程序的所有搜索请求,或者它只能处理唯一的搜索请求MapActivity
?