2015-03-25 50 views
0

我正在处理一个android应用程序,并且我在我的注册布局中设置了一个可从我的设置进行编辑的值的复选框(设置为sharedpreferences) 因此,当用户注册时可以检查该复选框,如果这个复选框被选中以便在我的设置(CheckBoxPreferences)中进行选择,那么我的问题是如何根据注册活动中的复选框被选中来更改CheckBoxPreferences值?更改CheckBoxPreferesses如果正常复选框被窜

谢谢你SharedPrefernces

+0

你可以在一些地方保存价值一样共享偏好和基于价值选中或取消选中CheckBoxPreferences – virendrao 2015-03-25 11:24:33

回答

1

商店CheckBoxand 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); 
0
<?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 ..