java – 代码中的SwitchPreference和CheckBoxPreference
发布时间:2020-12-14 05:12:07 所属栏目:Java 来源:网络整理
导读:我现在正在为我的应用创建首选项页面 在API-14之后,可以使用switchpreference.我想用它来取代API14设备上的checkboxpreference 使用res / xml和res / xml-14很容易获得正确的xml资源 然而,在编码部分中,根据API切换偏好并不是那么方便. public class Setting
我现在正在为我的应用创建首选项页面
在API-14之后,可以使用switchpreference.我想用它来取代API14设备上的checkboxpreference 使用res / xml和res / xml-14很容易获得正确的xml资源 然而,在编码部分中,根据API切换偏好并不是那么方便. public class SettingActivity extends PreferenceActivity { private CheckBoxPreference enable; private SwitchPreference enablev14; @Override protected void onCreate(Bundle savedInstanceState) { addPreferencesFromResource(R.xml.setting); if (Build.VERSION.SDK_INT < 14) enable = (CheckBoxPreference) findPreference(key_enable); else enablev14 = (SwitchPreference) findPreference(key_enable); } ... } 现在我的方法是使用if子句检查Build.VERSION并获取相应的对象来处理它. 解决方法
也许你可以为你的SwitchPreference和CheckBoxPreference xml设置一个android:key属性,就像这样:
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <CheckBoxPreference android:key="pref_sync" android:title="@string/pref_sync" android:defaultValue="true" /> </PreferenceScreen> 和 <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <SwitchPreference android:key="pref_sync" android:title="@string/pref_sync" android:defaultValue="true" /> </PreferenceScreen> 然后你可以检查这个键是否在你的代码中返回true或false,如下所示: public class SettingActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { addPreferencesFromResource(R.xml.setting); PreferenceManager preferenceManager = getPreferenceManager(); if (preferenceManager.getSharedPreferences().getBoolean("pref_sync",true)){ // Your switch is on } else { // Your switch is off } ... } 希望这对你有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- CountDownLatch源码分析
- Java实现JS中的escape和UNescape代码分享
- Comet OJ - Contest #11 E ffort(组合计数+多项式快速幂)
- Java Bitwise“&”在整数上
- 为URLConnection设置“User-Agent”参数,以便从Java应用程序
- java – OpenCV Mat处理时间
- 为什么我的jscrollpane导致java swing中的奇怪绘制调用?
- java – 排序的ConcurrentModification异常
- java – 如何改进应用程序以避免堆空间问题
- 《Java 8 in Action》Chapter 1:为什么要关心Java 8