SharedPreferences の使用に少し問題があります。環境設定との間で文字列を保存し、後でロードしたいと考えています。onCreate メソッドで環境設定を初期化します。
prefs = this.getSharedPreferences("com.example.android_test", Activity.MODE_PRIVATE);
別の方法で保存します:
public void saveUser()
{
prefs.edit().putString("username", username);
prefs.edit().putString("password", password);
prefs.edit().apply();
}
さらに別の方法でロードします。
public void loadUser()
{
username = prefs.getString("username", "default");
password = prefs.getString("password", "test");
}
そして、それらは私のテスト方法です:
public void showUser(View v)
{
loadUser();
text.setText(username);
}
public void addUser(View v)
{
changeUser(eingabe.getText().toString(),"newpass");
}
public void changeUser(String user, String pass)
{
username = user;
password = pass;
saveUser();
}
ユーザー名とパスワードはグローバルでプライベートな文字列、eingabe は EditText、テキストは TextView です。ただし、showUser() を実行すると、異なるユーザー名で saveUser を使用している場合でも、TextView に表示される defaultvalue のみが取得されます...クラッシュなどはありません...表示されるのは defaultvalue だけです...