2017-05-25 9 views
0
public void inValidMobileNumber() { 

    if (TokenUtils.isInvalidDob()) { 
     startActivity(new Intent(PersonalInfo.this,PassTwo.class)); 
     overridePendingTransition(R.anim.dashboard_right_from,R.anim.dashboard_right_to); 
     TokenUtils.setisInvalidDob(false); 
    } 
    else { 
     TokenUtils.setisInvalidDob(true); 
     Intent intent = new Intent(PersonalInfo.this, MobileNumber.class); 
     intent.putExtra("reportId", reportId); 
     intent.putExtra("activityCode", CreditMantriConstants.TELL_US_MORE_ACTIVITY); 
     startActivity(intent); 
     overridePendingTransition(R.anim.dashboard_right_from, R.anim.dashboard_right_to); 
    } 

} 

公共の静的な無効setisInvalidDob(ブールDOB){ SharedPreferencesの好みの=のPreferenceManager.getDefaultSharedPreferences(CreditMantriApplication.getCreditMantri())に設定した後、真偽取得。 final SharedPreferences.Editor edit = preferences.edit(); edit.putBoolean( "dob"、dob); edit.apply();ここで }でもアンドロイドsharedpreferences

public static Boolean isInvalidDob() 
{ 
    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(CreditMantriApplication.getCreditMantri()); 
    return preferences.getBoolean("dob",false); 
} 

はinvalidDob

edit.commit(AS
+0

'ブール'の代わりに 'ブール'を使ってみましたか? edit.apply()の代わりに –

+0

を試してみてください。edit.commit(); – Palanivelraghul

+0

それは感謝しました。Zarul Izham –

答えて

1

使用

edit.commit(); 

代わりに

edit.apply(); 

)のための真第二時間を取得するための私のコードです。 edit.apply();を実行するとすぐに保存されます。 do in background

+0

いいえ、あなたはまだapply()を使うべきです。これはメモリ内で直ちに変更を適用するので、同じSharedPreferences(同じプロセス内のシングルトン)から読み込むと、すぐに新しい値が取得されます。ディスクへの物理的な保存のみが遅延されます。それはすべて文書に書かれています。 – BladeCoder

関連する問題