Android 系统搜索框(有浏览记录)
16lz
2021-01-23
实现Android 系统搜索框(有浏览记录),先看下效果:
一、配置搜索描述文件
要在res中的xml文件加创建sreachable.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?> <searchable 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=" ? "> </searchable>
二、填写配置文件信息
1.搜索框的配置
<!-- 搜索动作 --> <intent-filter > <action android:name="android.intent.action.SEARCH" > </action> </intent-filter> <meta-data android:name="android.app.default_searchable" android:value="MainActivity" /> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" > </meta-data>
2.保存内容的配置
<provider android:authorities="com.glacier.ui.SearchSuggestionProvider" android:name="com.glacier.ui.SearchSuggestionProvider" > </provider>
三、调用启动搜索框方法
//弹出搜索框 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); } }
源码下载地址
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/11月/30日/Android 系统搜索框(有浏览记录)
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接: http://www.linuxidc.com/Linux/2012-11/75136.htm
一、配置搜索描述文件
要在res中的xml文件加创建sreachable.xml,内容如下:
<?xml version="1.0" encoding="utf-8"?> <searchable 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=" ? "> </searchable>
二、填写配置文件信息
1.搜索框的配置
<!-- 搜索动作 --> <intent-filter > <action android:name="android.intent.action.SEARCH" > </action> </intent-filter> <meta-data android:name="android.app.default_searchable" android:value="MainActivity" /> <meta-data android:name="android.app.searchable" android:resource="@xml/searchable" > </meta-data>
2.保存内容的配置
<provider android:authorities="com.glacier.ui.SearchSuggestionProvider" android:name="com.glacier.ui.SearchSuggestionProvider" > </provider>
三、调用启动搜索框方法
//弹出搜索框 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); } }
源码下载地址
免费下载地址在 http://linux.linuxidc.com/
用户名与密码都是www.linuxidc.com
具体下载目录在 /2012年资料/11月/30日/Android 系统搜索框(有浏览记录)
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接: http://www.linuxidc.com/Linux/2012-11/75136.htm
更多相关文章
- Android studio 提取文件指定字符串
- android 扫描SD卡与系统文件
- (备忘)Android app中调用启动其他应用(系统应用和第三方应用)
- Android学习笔记(一)——初识Android的系统
- Android sdcard文件读写操作
- Unity 调用 Android Native 方法(一) 获得Android系统音量
- Android 4.2 BT系统之蓝牙关闭过程全跟踪