我有两个文本框和一个复选框。但是当我输入我的用户名和密码并勾选复选框,退出应用程序并再次返回时,它没有出现。为什么?
// Get reference to UI elements
txtLogin = (EditText) findViewById(R.id.txtLogin);
txtPassword = (EditText) findViewById(R.id.txtPassword);
SharedPreferences pref = getSharedPreferences(PREFS_NAME,MODE_PRIVATE);
String username = pref.getString(PREF_USERNAME, null);
String password = pref.getString(PREF_PASSWORD, null);
if (username == null || password == null) {
//Prompt for username and password
Toast.makeText(getBaseContext(),
"HI",
Toast.LENGTH_SHORT).show();
}
// Remember me function
CheckBox cbRemember = (CheckBox) findViewById(R.id.chkRememberPassword);
if (cbRemember.isChecked()) {
getSharedPreferences(PREFS_NAME,MODE_PRIVATE)
.edit()
.putString(PREF_USERNAME, txtLogin.toString())
.putString(PREF_PASSWORD, txtPassword.toString())
.commit();
}
第一:您不应该使用txtLogin.toString();
,而是使用txtLogin.getText();
从editText控件获取值。
您确定调用了保存首选项的代码吗?
使用这些来获取value
String username = txtLogin.getText().toString().trim();