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

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

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

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

解决:

android ListPreference 不显示内容 && 设置默认值_第1张图片

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

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

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

android ListPreference 不显示内容 && 设置默认值_第2张图片

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,所以也很方便


    android ListPreference 不显示内容 && 设置默认值_第3张图片
    有很多控件可以使用

你可能感兴趣的:(android ListPreference 不显示内容 && 设置默认值)