Android Preference 调用setDefaultValue设置默认值不生效;应该使用setValueIndex

如题,希望在ListPreference中设置一个默认值,且不能被设置为其他值。(即:不能点击更改值)
详细描述:比如,当判断是某种类型的机器时;不支持前置摄像头采集视频,只能使用后置摄像头。其他类型的机器,可选前置、后置摄像头。


上代码:
设置xml里的android:entries,android:entryValues

android:entries的值:
<string-array name="camera_key">
<item>前置摄像头</item>
<item>后置摄像头</item>
</string-array>
---------------------------------------------------------------------------
android:entryValues的值:
<string-array name="camera_value">
<item>0</item>
<item>1</item>
</string-array>

判断机型,设置固定值,且不能点击

if(DeviceInfo.isE700Devices()){
if(null != mCameraListPreference){
//mCameraListPreference.setDefaultValue(1); // 注意:这里是设置默认值,即初始化时,或值不存在,就用该值;所以这句不能指定默认值
mCameraListPreference.setValueIndex(1); // set the value to the given index from the entry values
mCameraListPreference.setEnable(false);
}
}

总结:希望在代码里指定ListPreference为某个固定值时,需要使用setValueIndex方法;不可以点击时,使用setEnable方法。

Android Preference 调用setDefaultValue设置默认值不生效;应该使用setValueIndex相关推荐

  1. 存储过程+调用存储过程+无/带参的存储过程+in参数+out参数+int out参数+为参数设置默认值...

    存储过程 1存储过程是一组为了完成特定功能的SQL语句集 2存储过程编译后存储在数据库中 3执行存储过程比执行存储过程封装的SQl语句集更有效率 4不能指定declare关键字 5: OUT 和 IN ...

  2. ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数

    ​Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数 7.4.4  为外部参数设置默认值 开发者也可以对外部参数设置默认值.这时,调用的时候,也可以省略参数传递本文选自Swift ...

  3. ajax默认什么方法,ajax设置默认值ajaxSetup()方法

    $(function(){ //设置全局 jQuery Ajax全局参数 $.ajaxSetup({ type:"POST", async:false, cache:false, ...

  4. jpa mysql timestamp_Java JPA设置默认值、Timestamp设置、自动获取时间

    设置默认值 @Column(name="state",columnDefinition="tinyint default 0") private Integer ...

  5. android缅甸语,Android键盘输入语言设置默认打开myanmar缅甸语的步骤

    不管你在学什么语言,当你觉得自己不擅长的时候,突然听到你的老师或其他人用你认为自己不擅长的语言流畅地交谈,你会感到热血沸腾,下面我们就跟着爱站技术频道小编一起来了解键盘输入语言设置默认打开myanma ...

  6. Vue组件传值-设置默认值

    使用props接收值 1.default: 设置默认值 2.type:设定传值类型 3.require:设置必填项 代码示例: ·App.vue父组件调用子组件 <div class=" ...

  7. php textarea 默认值,html中的textarea属性大全(设置默认值 高度自适应 获取内容 限制输入字数 placeholder)...

    1.textarea设置默认值 HTML: 此段代码设置一个textarea文本框 并且设置为隐藏 2.textarea高度自适应 今天需要些一个回复评论的页面,设计师给的初始界面就是一个只有一行的框 ...

  8. EAS 分录设置默认值(删除分录监听也能用 把新增分录,插入分录监听去掉。 如果想再用新增分录监听 就再注册一个方法再onload再用)

    /*** 添加分录监听事件,实现分录表格默认值 该方法被onLoad()调用*/private void addKdtEntryDetailPanelListener() {IDetailPanelL ...

  9. html设置input默认值,使用jQuery给input标签设置默认值

    由于项目需求,简单地写了一个input默认值设置,实现给.form中所有的input设置默认值的方法. input默认值设置 $(function() { //集体调用 $(".form i ...

最新文章

  1. 关于Redis缓存,这3个问题一定要知道!
  2. leecode---46---数组,dfs---求出数组的所有组合
  3. 【深度学习】最先进的图像分类算法:FixEfficientNet-L2
  4. 【深度学习】收藏|神经网络调试Checklist
  5. 把数据保存到数据库附加表 `XX_addonarticle` 时出错,Duplicate entry 'X' for key 'PRIMARY'...
  6. java bean 验证_Java Bean验证基础
  7. 有效利用时间12妙招
  8. dhcp服务器没有响应怎么解决,dhcp服务器没有响应
  9. java内存模型及GC原理
  10. Luogu3941[湖南集训2017] 入阵曲
  11. 编程珠玑Column11中插入排序和快排序
  12. 计算机网络:王道考研
  13. 智慧水务ZWS云平台方案,共促水务行业数字化建设
  14. MySQL远程连接失败(错误码:2003)
  15. ajax方法参数详解,$.ajax()方法参数详解
  16. Apache Jena TDB 常用API
  17. 阿里云-云开发平台计算篇——加强应用本身的计算能力
  18. dxf怎么用cad打开?CAD技巧分享
  19. java个人所得税计算器
  20. openBoard开源白板项目

热门文章

  1. php 支付宝 扫码 源码,PHP微信扫码+PHP支付宝源码
  2. 使用Rose绘制用例图、类图、状态图等详细步骤说明
  3. 编译器警告:C4996
  4. linux yum fping,CentOS 7 安装 fping
  5. java十五章_Java8 教程第十五章之Optional 用法
  6. 监管用上大数据,厉害了
  7. 人工智能AI解奥数题,妈妈再也不用担心我的学习啦
  8. 微信直播如何变现呢?这里有3种方式
  9. C++23种设计模式(23)-解释器模式
  10. 杭电联赛六 7034 Array