Android 系统搜索框(有浏览记录)

2014-11-24 09:12:51 · 作者: · 浏览: 0

Android 系统搜索框(有浏览记录)


一、配置搜索描述文件


要在res中的xml文件加创建sreachable.xml,内容如下:


< xml version="1.0" encoding="utf-8" >
xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="@string/searchLable"
android:label="@string/searchLable"
android:searchSuggestAuthority="com.glacier.ui.SearchSuggestionProvider"
android:searchSuggestSelection=" ">


二、填写配置文件信息


1.搜索框的配置








android:name="android.app.default_searchable"
android:value="MainActivity" />
android:name="android.app.searchable"
android:resource="@xml/searchable" >


2.保存内容的配置


android:authorities="com.glacier.ui.SearchSuggestionProvider"
android:name="com.glacier.ui.SearchSuggestionProvider" >


三、调用启动搜索框方法


//弹出搜索框
onSearchRequested();


可以重新写系统的方法做些必要的内容加载其他
@Override
public boolean onSearchRequested(){
//打开浮动搜索框(第一个参数默认添加到搜索框的值)
startSearch(null, false, null, false);
return true;
}

//得到搜索结果
@Override
public void onNewIntent(Intent intent){
super.onNewIntent(intent);
//获得搜索框里值
query=intent.getStringExtra(SearchManager.QUERY);
System.out.println(query);
//保存搜索记录
SearchRecentSuggestions suggestions=new SearchRecentSuggestions(MainActivity.this,
SearchSuggestionProvider.AUTHORITY, SearchSuggestionProvider.MODE);
suggestions.saveRecentQuery(query, null);
System.out.println("保存成功");
}


四、记得要写存储的地方


import android.content.SearchRecentSuggestionsProvider;

public class SearchSuggestionProvider extends SearchRecentSuggestionsProvider {

public final static String AUTHORITY="com.glacier.ui.SearchSuggestionProvider";
public final static int MODE=DATABASE_MODE_QUERIES;

public SearchSuggestionProvider(){
super();
setupSuggestions(AUTHORITY, MODE);
}
}



源码下载地址



具体下载目录在 /2012年资料/11月/30日/Android 系统搜索框(有浏览记录)