2011-11-22 154 views
2

我有兩個文本框和一個checkmebox。但是,當我輸入我的用戶名和密碼並在Checkmebox上打勾時,退出應用程序並再次返回它不會出現。爲什麼?登錄時記住我的功能

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

你想從你的onCreate發佈的代碼或者你的'Activity'內一些其他的方法? – kaspermoerch

回答

1

第一:你不應該使用txtLogin.toString();而是使用txtLogin.getText();從EDITTEXT控制得到的值。

您確定保存首選項的代碼被調用嗎?

0

利用這些獲得價值

String username = txtLogin.getText().toString().trim();