在我的drawable-hdpi文件夾中,我有4個圖像文件(.png)作爲awidget的背景。默認情況下,爲LinearLayout設置了android:background =「@ drawable/goldgreenbg」。我創建了一個首選項屏幕讓用戶更改背景。 如何做到這一點?我想用它驗證碼:Android設置小部件背景
if (listpref.equals("color1"))
{
Toast.makeText(EditPreferences.this, "Black" + listpref, Toast.LENGTH_LONG).show();
}
else if (listpref.equals("color2"))
{
Toast.makeText(EditPreferences.this, "Brown" + listpref, Toast.LENGTH_LONG).show();
}
更新: 哪兒,我把這個代碼? MainActivity.java:用於活動 UpdateService.java:用於小部件 EditPreferences.java:用於首選項 Main.xml包括listview和widgetlayout是它的id。
setContentView(R.layout.main);
preferences = PreferenceManager.getDefaultSharedPreferences(this);
String listpref = preferences.getString("listPref", "n/a");
LinearLayout ll = (LinearLayout) findViewById(R.id.widgetlayout);
if (listpref.equals("color1"))
{
Toast.makeText(MainActivity.this, "Black" + listpref, Toast.LENGTH_LONG).show();
ll.setBackgroundDrawable(getResources().getDrawable(R.drawable.blackbg));
}
else if (listpref.equals("color2"))
{
Toast.makeText(MainActivity.this, "Brown" + listpref, Toast.LENGTH_LONG).show();
ll.setBackgroundDrawable(getResources().getDrawable(R.drawable.brownbg));
}
看起來不錯。並在哪裏把這個代碼?我把它放在EditPreferences.java(它擴展了PreferenceActivity),但它不工作(只有當我第一次點擊我的「設置」btn時纔會出現烤麪包,但如果我再次單擊它並選擇另一種顏色,則不會有烤麪包味精。 我也有MainActivity.java的活動和UpdateService.java的部件。我試圖把UpdateService.java的onCreate方法,不工作要麼。 – erdomester 2011-02-06 09:56:06