更改普通复选框的 CheckBox Preferences 被选中

change CheckBoxPreferesses if normal checkbox is chacked

我正在开发一个 android 应用程序,我在我的注册布局中有一个复选框,可以从我的设置中编辑一个值(设置是 sharedpreferences) 因此,当用户注册可以选中该复选框时,如果选中了该复选框,那么我的设置(CheckBoxPreferences)中的复选框,我的问题是如何根据注册 activity 中的复选框是否被选中来更改 CheckBoxPreferences 值?

谢谢

<?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 ..

将 SharedPreferncesand based on value ofSharedPreferences, setCheckBoxPreference` 中的 CheckBox 值存储到 check/uncheck

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);