簡體   English   中英

Android:SharedPreferences布爾值

[英]Android: SharedPreferences Boolean

有人知道錯誤在哪里嗎? Android Studio中存在錯誤。

以下是現在的代碼。

final String keyFirstTime = "keyFirstTime";

prefsEditor.putBoolean(keyFirstTime, false);

if (keyFirstTime = false) {

提前致謝。

  1. keyFirstTime是一個字符串(請參閱注釋)
  2. 您正在投入價值而沒有價值
  3. 您在if語句中使用賦值
  4. 您正在將STRING與BOOLEAN進行比較

在活動1中,您應該具有:

final String keyFirstTime = "keyFirstTime";
prefsEditor.putBoolean(keyFirstTime, false);

在活動2中,您應該具有:

boolean firstTime = prefs.getBoolean(keyFirstTime, false); //you don't need the editor
if (firstTime) {
    ...
}

請轉到此處獲取教程: https : //developer.android.com/training/basics/data-storage/shared-preferences.html

編輯嘗試執行此操作(從這里偷走)

private static final String FIRST_RUN = "FIRST_RUN";
SharedPreferences prefs = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ...

    prefs = getSharedPreferences(getApplicationContext().getPackageName(), MODE_PRIVATE);
}

@Override
protected void onResume() {
    super.onResume();

    if (prefs.getBoolean(FIRST_RUN, true)) {           
        prefs.edit().putBoolean(FIRST_RUN, false).commit();
        //call relevant function for first run
    } else {
        //call relevant function for every other run
    }
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences();  prefs.edit().putBoolean("keyFirstTime", true).commit();

現在要獲取布爾值,您必須使用

Boolean check = prefs.getBoolean("keyFirstTime", false);

現在您可以檢查這種方式

if(check){您的代碼在這里}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM