2014-11-05 169 views
0

我想保存用戶憑據使用sharedpreferences,我通過這種方式這樣做,但它不工作保存憑據sharedpreferences

public class MainActivity extends Activity { 
    public EditText UserName; 
    public EditText Password; 
    public Button mButton; 
    public String user_name; 
    public String pass_word; 
    public CheckBox mCheckSavePassword; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     UserName = (EditText) findViewById(R.id.textUserName); 
     Password = (EditText) findViewById(R.id.textPassword); 
     mButton = (Button) findViewById(R.id.buttonLogin); 
     mCheckSavePassword = (CheckBox) findViewById(R.id.checkSavePassword); 

     mCheckSavePassword = (CheckBox) findViewById(R.id.checkSavePassword); 
     SharedPreferences.Editor preferencesEditor = preferences.edit();      
     preferencesEditor.putString("prefUserName", user_name);     
     if(mCheckSavePassword.isChecked()) { 
      preferencesEditor.putString("prefPassword", pass_word); 
     }     
     preferencesEditor.putBoolean("prefSavePassword", mCheckSavePassword.isChecked()); 
     preferencesEditor.apply(); 
    } 
+1

你怎麼知道它不工作? – 2014-11-05 19:41:30

+0

,因爲當我再次重新輸入時,需要填寫憑證 – Andrew 2014-11-05 19:46:40

+0

發佈您正在使用的代碼來讀取首選項值,以便我們可以看到什麼不起作用。 – 2014-11-05 19:47:55

回答

2

要保存空值,當第一次創建活動,user_namepass_word尚未初始化。

onCreate是你應該閱讀這些偏好值和更新這些值EditTexts。應該通過某些用戶交互來完成保存,例如按下按鈕時。

+0

我有這個選項 – Andrew 2014-11-05 20:06:04

+0

謝謝你,我會試試看 – Andrew 2014-11-05 20:19:04