Setting下面增加搜索(SearchIndexProvider)
来源:互联网 发布:荣威950 知乎 编辑:程序博客网 时间:2024/06/02 06:17
一、
当自己在Settings增加选项a后,如果我们想要被增加的选项a在搜索中也可以被搜索到,那么除了关注自己界面的那个类,还需要关注下面2个类:
src/com/android/settings/search/Ranking.java
src/com/android/settings/search/SearchIndexableResources.java
二、步骤
1、步骤一:自己页面内增加SearchIndexProvider内容
拿Settings下面的About phone来举例,代码6.0,DeviceInfoSettings.java,在自己相应的xxxSettings.java类里面添加以下内容,命名自己名哦,
About phone模板:
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER = new BaseSearchIndexProvider() { @Override public List<SearchIndexableResource> getXmlResourcesToIndex( Context context, boolean enabled) { final SearchIndexableResource sir = new SearchIndexableResource(context); sir.xmlResId = R.xml.device_info_settings; return Arrays.asList(sir); }};
自己页面内增加:
public static final SearchIndexProvider SEARCH_INDEX_XXX_PROVIDER = new BaseSearchIndexProvider() { @Override public List<SearchIndexableResource> getXmlResourcesToIndex( Context context, boolean enabled) { final SearchIndexableResource sir = new SearchIndexableResource(context); sir.xmlResId = R.xml.xxx_xxx_settings; //自己配置文件名称 return Arrays.asList(sir); }};
2、步骤二:类SearchIndexableResources.java里面添加内容
About phone模板:
sResMap.put(DeviceInfoSettings.class.getName(), new SearchIndexableResource( Ranking.getRankForClassName(DeviceInfoSettings.class.getName()), NO_DATA_RES_ID, DeviceInfoSettings.class.getName(), R.drawable.ic_settings_about));
添加
import com.android.settings.XXXSettings;
sResMap.put(XXXSettings.class.getName(), new SearchIndexableResource( Ranking.getRankForClassName(XXXSettings.class.getName()), NO_DATA_RES_ID, XXXSettings.class.getName(), //XXXSettings为自己页面类名字 R.drawable.xx));//图片资源
3、步骤三:在Ranking.java文件里面增加自己内容
Adbout phone模板:
sRankMap.put(DeviceInfoSettings.class.getName(), RANK_DEVICE_INFO);
在该文件里面增加自己内容哟
import com.android.settings.XXXSettings;public static final int RANK_XXX_XX = 22;sRankMap.put(XXXSettings.class.getName(), RANK_XXX_XX);
最后需要注意也是关键的地方
a.继承SettingsPreferenceFragment,实现Indexable
例如:public class XXXSettings extends SettingsPreferenceFragment implementsIndexable{}
b.添加以上东西前提是Settings.java和SettingsActivity.java里面都已经添加好相关内容了哟。其实没添也不会挂,哈哈。最好标准化添加上。
0 0
- Setting下面增加搜索(SearchIndexProvider)
- 将自定义python模块增加到类库搜索路径下面
- django-apps下面有多个app以及增加搜索路径
- linux下面增加磁盘空间
- GNOME下面增加快捷键
- weblogic下面增加虚拟目录
- linux下面增加swap空间
- Setting下增加触摸笔功能(TP)
- RichTextBox增加搜索功能
- sgit增加搜索功能
- 增加两个DOS下面的CMD命令
- Etch下面增加打印机和PDF打印机
- 如何在weblogic下面增加虚拟目录
- ubuntu下面的chrome浏览器增加标题栏
- [Android]res下面layout增加子文件夹
- 增加firefox的搜索选项
- 如何增加搜索收录数
- Setting
- android之MTP框架和流程分析
- WebViewJavascriptBridge工程结构和源码解析
- textView结合selector点击改变文字颜色
- hive sql 语句学习
- s3cmd 操作手册
- Setting下面增加搜索(SearchIndexProvider)
- 数据结构 --- 栈和队列
- 【例题】【动规】NKOJ 1796 数字金字塔
- ? extends T 与 ? super T
- 免费ARP简单介绍和程序编写
- 将 UIImage 保存到磁盘,用什么方式最好?
- JS this
- 穿越雷区第六届蓝桥杯大赛个人赛决赛(C语言A组)第四题
- C语言字符串数组与字符串指针详解