2012-09-27 58 views
-1

記住密碼意味着如果我輸入用戶名和密碼,然後啓用記住密碼複選框意味着它成功login.then我點擊註銷意味着它是註銷。 但我再次打開應用程序的用戶名和密碼顯示在D edittext知道... 但是當我註銷我的應用程序被註銷後再次我打開D應用程序意味着用戶名和密碼不會保存。 這裏是我的代碼:記住我的複選框不要保存用戶名,並通過再次打開應用時

 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(); 
       } 
+1

什麼都聽不懂......請簡單術語解釋! –

+0

我想記住我checkBox的代碼工作正常時註銷和程序bak到loginHome,但是當我出去的程序,並再次打開它的用戶及通過不要在EDT文本我該如何解決? –

+0

這是因爲你使用SharedPreferences ...嘗試使用其內部的SQLite數據庫..! –

回答

0

嘗試是這樣的:

if(checked){ 
    ar_EditText.setText(userName); 
    passwordEditText.setText(password); 
} 
相關問題