私はこのコードを持っています:
public static final String PREFS_NAME = "MyPrefsFile";
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
settings = getSharedPreferences(PREFS_NAME, 0);
boolean hasLoggedIn = settings.getBoolean("hasLoggedIn", false);
if (!((LoginButton.email).equals(""))) {
//settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
// Set "hasLoggedIn" to true
editor.putBoolean("hasLoggedIn", true);
// Commit the edits!
editor.commit();
Log.d("hasLoggedIn in email check = ", hasLoggedIn + "");
}
}
if を入力した後でも、最後のログには hadLoggedIn が false として表示されます。
同じアクティビティのどこかで、正常に動作する同じ編集コードを取得しましたが、唯一の違いは、編集されるとすぐに使用したことがなく、アクティビティが再度呼び出されたときに使用したことです。