2015-05-29 70 views
0

我一直在嘗試沒有成功地使用首選項來更改EditText的背景圖像。我不知道它爲什麼不起作用。這裏是我的代碼:如何通過SharedPreference選項更改EditText的背景圖像?

preferences = getSharedPreferences("prefBorder", 0); 
String value = preferences.getString("Solid", null); 

if (value.equals("Solid")) { 
    editText.setBackgroundResource(R.drawable.border); 
    // the key does not exist 
} else { 
    // handle the value 
    editText.setBackgroundResource(R.drawable.borderpkmnblue); 
} 

這裏是邊境我的偏好值:

<string-array name="Border"> 
    <item name="Solid">Solid</item> 
    <item name="PokemonBlue">Pokemon Blue</item> 

</string-array> 
<string-array name="borderValues"> 
    <item name="Solid">drawable/border.png</item> 
    <item name="PokemonBlue">drawable/borderpkmnblue.png</item> 

</string-array> 
+1

固體是您的偏好鍵,您的偏好值是什麼?它也是固體嗎? –

+0

添加了邊界的數組列表 –

回答

0

嘗試使用setBackgroundDrawable()方法,而不是

editText.setBackgroundDrawable(R.drawable.border); 
+0

已棄用... –

+0

反正它不起作用。它說不能應用 –

+0

你實際存儲在你的SharedPreferences文件中的是什麼?你的鑰匙是「固體」,但它的價值是什麼? –

0

嘗試使用BackgroundResource功能:

editText.setBackgroundResource(android.R.drawable.edit_text); 

而drawable應該是9個補丁文件。

相關問題