2012-01-20 15 views
0

私はログインページを作成しています。私はここでSharedPreferencesを使用しています。問題は、私がチェックボックス "私を覚えている"がチェックされているときに、間違ったパスワードを取得することです。 sharedpreferencesを使用しなければ、コードは正常に動作します。誰も私に解決策を教えてもらえますか?前もって感謝します 。共有設定を使用してログインページを作成する

public class UserLoginActivity extends Activity implements View.OnClickListener { 

super.onCreate(savedInstanceState); 
setContentView(R.layout.login); 

preference = PreferenceManager.getDefaultSharedPreferences(this); 
login = (Button) findViewById(R.id.bLogIn); 
username = (EditText) findViewById(R.id.etLoginEmail); 
password = (EditText) findViewById(R.id.etPassword); 
remember = (CheckBox) findViewById(R.id.chkRemember); 
uID = preference.getString("userid", " "); 
uPass = preference.getString("pass_word", " "); 

username.setText(uID); 
password.setText(uPass); 
login.setOnClickListener(this); 

public void onClick(View v){ 
switch (v.getId()) { 
    case R.id.bLogIn: 
     if(remember.isChecked()){ 
      SharedPreferences.Editor editor = preference.edit(); 
      editor.putString("userid", username.getText().toString().trim()); 
      editor.putString("pass_word", password.getText().toString().trim());        
      editor.commit(); 

      login(); 
      }else { 
       login(); 
      } 
+0

'login()'コードを投稿してください。 – Ash

答えて

1
uID = preference.getString("userid", " "); 
uPass = preference.getString("pass_word", " "); 

あなたは、デフォルトではスペースを返すので、あなたのログイン名とパスワードは、必ずスペースを持っています。資格情報を保存すると、資格情報が削除され、そのためにスペースが削除されます。したがって、'username 'のようなアカウントを作成し、それを'username'として保存します。パスワードと同じです。 Thitがあなたのコードがうまくいかない理由かもしれません。

+0

うん!あなたが正しいです 。ここで質問を投稿した直後に私は解決しました。返信いただきありがとうございます。 –

関連する問題