在应用程序中保存复选框状态
Save CheckBox state in app
我的 android 应用程序中有复选框。当应用程序的第一个 运行 时,我的复选框被选中。
如果用户禁用复选框怎么办?我不想在我的应用程序中保存首选项。
每一次isChecked
对我的安排都是真的。用户更改复选框后如何保存复选框的状态?
xml:
<CheckBox
android:id="@+id/remember_me"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF297AA6"
android:checked="true"
android:textColor="@android:color/white" />
这是我的 activity 代码 - 我的 xml;
总是 isChecked
正确
if (mCheckBox.isChecked()) {
remembername = preferences.getString("user", "");
rememberpassword = preferences.getString("pasword", "");
user.setText(remembername);
parola.setText(rememberpassword);
}
在您的复选框 onclick
方法中添加以下代码:
SharedPreferences.Editor editor = this.getPreferences(0).edit();
if(cbRememberMe.isChecked()){
checkPreference = true;
editor.putString("savename", etUserName.getText().toString().trim());
editor.putString("savepassword", etPassword.getText().toString().trim());
editor.putBoolean("check", checkPreference);
editor.commit();
Log.i("Remember Me", "checked,preference added");
}
else{
checkPreference = false;
editor.putString("savename", "");
editor.putString("savepassword", "");
editor.putBoolean("check", checkPreference);
editor.commit();
Log.i("Remember Me", "Unchecked, preferences removed");
}
在您的 onCreate()
方法中,写下几行:
SharedPreferences prefs = this.getPreferences(0);
strUserName = prefs.getString("savename", null);
if (strUserName != null) {
etUserName.setText(strUserName);
}
strPassword = prefs.getString("savepassword", null);
if (strPassword != null) {
etPassword.setText(strPassword);
}
rememberMe = prefs.getBoolean("check", true);
if (rememberMe == true) {
cbRememberMe.setChecked(true);
}
我的 android 应用程序中有复选框。当应用程序的第一个 运行 时,我的复选框被选中。 如果用户禁用复选框怎么办?我不想在我的应用程序中保存首选项。
每一次isChecked
对我的安排都是真的。用户更改复选框后如何保存复选框的状态?
xml:
<CheckBox
android:id="@+id/remember_me"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF297AA6"
android:checked="true"
android:textColor="@android:color/white" />
这是我的 activity 代码 - 我的 xml;
总是isChecked
正确
if (mCheckBox.isChecked()) {
remembername = preferences.getString("user", "");
rememberpassword = preferences.getString("pasword", "");
user.setText(remembername);
parola.setText(rememberpassword);
}
在您的复选框 onclick
方法中添加以下代码:
SharedPreferences.Editor editor = this.getPreferences(0).edit();
if(cbRememberMe.isChecked()){
checkPreference = true;
editor.putString("savename", etUserName.getText().toString().trim());
editor.putString("savepassword", etPassword.getText().toString().trim());
editor.putBoolean("check", checkPreference);
editor.commit();
Log.i("Remember Me", "checked,preference added");
}
else{
checkPreference = false;
editor.putString("savename", "");
editor.putString("savepassword", "");
editor.putBoolean("check", checkPreference);
editor.commit();
Log.i("Remember Me", "Unchecked, preferences removed");
}
在您的 onCreate()
方法中,写下几行:
SharedPreferences prefs = this.getPreferences(0);
strUserName = prefs.getString("savename", null);
if (strUserName != null) {
etUserName.setText(strUserName);
}
strPassword = prefs.getString("savepassword", null);
if (strPassword != null) {
etPassword.setText(strPassword);
}
rememberMe = prefs.getBoolean("check", true);
if (rememberMe == true) {
cbRememberMe.setChecked(true);
}