android浮动搜索框

时间:2023-03-09 02:23:11
android浮动搜索框

android浮动搜索框的配置比较繁琐,需要配置好xml文件才能实现onSearchRequest()方法。

1.配置搜索的XML配置文件​,新建文件searchable.xml,保存在res/xml文件夹中。

 <?xml version="1.0" encoding="UTF-8"?>

 <searchable android:label="@string/search_label"
android:searchSuggestAuthority="search"
android:searchSuggestIntentAction="android.intent.action.VIEW"
xmlns:android="http://schemas.android.com/apk/res/android"
/>

2.新建一个SearchActivity.java,继承Activity,在配置文件manifest.xml中​添加如下信息

     <activity
android:name=".SearchActivity"
android:launchMode="singleTop"
android:label="@string/app_name" > <intent-filter>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<!-- 指定上面的searchable.xml文件 -->
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>

3.至此,onSearchRequest方法才可以使用,该方法会调出android的浮动搜索框​,java代码如下

 public class SearchActivity extends Activity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); Intent intent = this.getIntent(); if(Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
doSearch(query);
}
else{
onSearchRequested(); } } private void doSearch(String queryStr) {
//执行真正的查询结果处理
} }