1、定義顯示搜索結果的activity
<activity android:name="org.cs.SearchActivity">
<intent-filter >
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
其中,searchable.xml文件:<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/label"
android:hint="@string/hint" <!-- 搜索框中的提示內容 -->
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"/>
2、在application中聲明 <meta-data
android:name="android.app.default_searchable"
android:value="org.cs.SearchActivity" />
聲明之後,在應用中如果按下搜索鍵就可以直接調出搜索框架。也可以在一些view中的點擊事件中通過調用 onSearchRequested() 方法來調用搜索框架
View search = this.findViewById(R.id.main_search);
if(search!=null){
search.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//設置這個界面的搜索按鈕的點擊事件
onSearchRequested();
}
});
}
3、在顯示搜索結果的SearchActivity(第一步中定義的)中實現搜索邏輯
Intent intent = this.getIntent();
String string = intent.getStringExtra(SearchManager.QUERY);
------拿到你輸入的關鍵字了,處理就隨便你了