所以我基本上試圖用activity1中的按鈕設置activity2的BG圖像。SharedPreference不工作 - 看不出爲什麼
我正在使用sharedpreference,因此該選項將始終保留。
的事情是,在按下按鈕後,我保存字符串到SharedPreference:
public void onClick(View v) {
SharedPreferences.Editor background = getSharedPreferences("Background", MODE_PRIVATE).edit();
if(btn1 == v)
{
Toast.makeText(this, "btn1", Toast.LENGTH_SHORT).show();
background.putString("selectedBG", "White");
background.commit();
}
if(btn2 == v)
{
background.putString("selectedBG", "Black");
background.commit();
}
if(btn3 == v)
{
background.putString("selectedBG", "Blue");
background.commit();
}
if(btn4 == v)
{
background.putString("selectedBG", "Brown");
background.commit();
}
}
,然後在活性2的OnCreate:
SharedPreferences background = getSharedPreferences("Background", MODE_PRIVATE);
String chosenBackground = background.getString("SelectedBg", null);
Toast.makeText(this,"chosenBackground:" + chosenBackground, Toast.LENGTH_SHORT).show();
最後吐司,版畫out chosenBackground:null,不管我按什麼按鈕。 我在做什麼錯?
謝謝。
您的密鑰錯誤 - 將SelectedBg中的'S'更改爲小寫。如果它們永不改變,最好還是使用常量鍵值並引用它們。 –