我正在尝试使用Android的搜索管理器。
事实上,我有一个我打电话的活动
onSearchRequested()
然后,我在同一个活动中使用此函数来获取搜索字符串:
// Get the intent, verify the action and get the query
Intent intent = getIntent();
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
}
问题是下一个:当我点击搜索按钮时,我正在打开一个新活动,我想保持相同并进行一些搜索。因此,我的目标是在单击搜索按钮时避免新活动开始。
谢谢。
答案 0 :(得分:4)
解决方案包括重用开发人员示例http://developer.android.com/guide/topics/search/search-dialog.html
重要的是创建2个活动,一个用于搜索,另一个用于显示结果。
在清单中,使用以下代码:
<application ... >
<!-- this is the searchable activity; it performs searches -->
<activity android:name=".SearchableActivity" >
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
<!-- this activity enables the search dialog to initiate searches
in the SearchableActivity -->
<activity android:name=".OtherActivity" ... >
<!-- enable the search dialog to send searches to SearchableActivity -->
<meta-data android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
</activity>
...
答案 1 :(得分:0)
在Manifest中使用
<activity android:name="BrowseItems" android:label="@string/browseitems"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/itemsearchable" />
</activity>