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);
------拿到你输入的关键字了,处理就随便你了