android ListPreference 不显示内容 && 设置默认值

通常每个APP都有一个设置界面,以前写设置界面,又要写布局,而且每个设置的内容我们还要用sharePreference自己写一套来管理保存。确实有点麻烦,现在好了,有一个叫做PreferenceSscreen的东西,很好用。

但是在用的过程中,发现一个问题,不知道是不是我版本的问题。我的是24,Android studio 2.2.2

问题:ListPreference不显示内容。设置了entries 和 entryValue没有效果。

解决:

**ListPreference
1、需要在代码里面设置 entries 和 entryValues ,
2、entries 和 entryValues 在xml中指定不起作用 ,
3、defaultValue要在xml指定,且需要是entryValues的其中一个 **

那么问题又来了,如果是MultiSelectListPreference多选呢?
答案也是一样,但是有一点需要注意,MultiSelectListPreference设置default值没有用(实验的结果,如果有误请指正)

测试结果:
1、在xml里面指定@array/xxx,并且xxx的值是包含在entryValues的其中1个或者多个,不行

android:defaultValue="2",直接指定单个,不行直接报错

2、结果如下

m.setDefaultValue(new String[]{"2","3"});
不行
m.setDefaultValue("2");
指定单个,不行

总结:

  • PreferenceScreen官方希望你在fragment中使用,不要用原来的PreferenceActivity
  • PreferenceScreen会根据你的key value然后保存到sharePreference中,省去你自己管理的时间
  • PreferenceScreen使用的是Android原生的控件,省去大量写UI的时间
  • PreferenceScreen还可以自定义UI,所以也很方便


    有很多控件可以使用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容