关于Preference相关控件修改出现的问题

与Preference先关的控件主要有:CheckBoxPrenference,ListPreference,EditTextPreference,PreferenceCategory,PreferenceScreen等,当你在你的xml中,布局了一个Preference,如下:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >

     
  <cmcc.kvpioneer.ui.control.KVCheckboxPrefer
    android:key="PREF_SHOWNOTIFY_ICON"
    android:title="显示通知栏图标"  
    android:defaultValue="true"
  />   
   <cmcc.kvpioneer.ui.control.KVCheckboxPrefer
    android:key="PREF_REALTIME_MONITOR"
    android:title="实时监控"  
    android:defaultValue="true"
  />                       
  <cmcc.kvpioneer.ui.control.KVCheckboxPrefer
   android:key="PREF_TASK_KILL"
   android:title="定期云扫描" 
   android:defaultValue="true"
  />
  <cmcc.kvpioneer.ui.control.KVCheckboxPrefer
   android:key="PREF_VERSION_UPGRADE"
   android:title="版本升级" 
   android:defaultValue="true"
  /> 

</PreferenceScreen>

当你第一次运行与这个xml相关的ACTIVITY时候,那么会在data/data/应用程序列表/~.xml中生成相应的属性值,那么这个时候,如果你把KVCheckboxPrefer改成ListPreference,然后重新运行,就会出现错我,java.long.classcastexception,而引起的原因就是当编译器存放key名为PREF_VERSION_UPGRADE,类型为ListPreference的值的时候,发现已经有一个类型为KVCheckboxPrefer的具有同样Key值,所以会报异常,解决办法就是重新命名key,很简单,困扰了我一上午,囧!

http://blog.csdn.net/ssstudio/article/details/6232202



kkk

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值