-1

记住密码意味着如果我输入用户名和密码然后启用记住密码复选框意味着它已成功登录。然后我单击注销意味着它已注销。但是我再次打开应用程序,用户名和密码显示在 d edittext 知道...但是当我在我的应用程序上注销时,我再次注销应用程序意味着用户名和密码未保存。这是我的代码:

        myPrefs = this.getSharedPreferences("myPrefs",MODE_PRIVATE);
        user=myPrefs.getString(PREF_USERNAME, "username");
        pass=myPrefs.getString(PREF_PASSWORD, "password");
        checked=myPrefs.getString(PREF_CHECKED, "TRUE");

        SharedPreferences sp1=this.getSharedPreferences(PREFS_NAME,MODE_PRIVATE);
         userName=sp1.getString(PREFS_NAME , null);       
        password = sp1.getString(PREF_PASSWORD, null);



loginButton.setOnClickListener(new OnClickListener() {
            public void onClick(View view) {

InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(passwordEditText.getWindowToken(),
                        0);
                Data.LANGUAGE = "1";
                String username = ar_EditText.getText().toString().trim();
               String password = passwordEditText.getText().toString().trim();
               if(CBox.isChecked()){
                  getSharedPreferences(PREFS_NAME,MODE_PRIVATE).edit().putString(PREF_USERNAME,userName).putString(PREF_PASSWORD,password).putString(PREF_CHECKED,"TRUE")
                .commit();
               }else
               {
                   getSharedPreferences(PREFS_NAME,MODE_PRIVATE).edit().clear().commit();
               }
4

1 回答 1

0

尝试这样的事情:

if(checked){
    ar_EditText.setText(userName);
    passwordEditText.setText(password);
}
于 2012-09-27T12:50:33.443 回答