我正在开发一个android应用程序,在我的注册布局中有一个值的复选框,该值可以从我的设置中编辑(设置是共享引用)因此,当用户注册可以选中该复选框时,如果该复选框被选中,那么我的设置(CheckBoxPreferences)中的复选框也被选中,我的问题是,我如何根据注册活动中的复选复选框是否被选中来更改CheckBoxPreferences值?
感谢
将CheckBox
值存储在SharedPreferences and based on value of
SharedPreferences , set
CheckBoxPreference`中以选中/取消选中
boolean isCheckBoxChecked = <GetCheckBoxState>;
SharedPreferences prefs = getSharedPreferences("PrefsName", <Mode>);
SharedPreferences.Editor editor = prefs.edit();
editor.putBoolean("<Key>", isCheckBoxChecked).commit();
//Retrieve SharedPreferences value and set it to CheckBoxPreference
boolean value = prefs.getBoolean("<Key>", <DefaultValue>);
CheckBoxPreference cbPref = (CheckBoxPreference) findPreference("<YourPreference>");
cbPref.setChecked(value);
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/layer176"
android:state_checked="false"/>
<item android:drawable="@drawable/checked250"
android:state_checked="true"/>
<item android:drawable="@drawable/layer176"/>
</selector>
========================================================
<CheckBox
android:id="@+id/slider_listview_row_checkbox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:button="@drawable/checkbox_selector"
android:background="@null"
/>
You can use above xml code ..