我試圖使用mColorPicker和運行它好,它改變了拾取顏色,但我試圖讓共享偏好來獲得新的顏色,所以我可以用它。 到目前爲止,這個沒有運氣,它不會改變顏色,但只保留默認的顏色。 我有偏好在一個單獨的文件,並在主要活動是,我希望從中獲取的偏好。 繼承人什麼我在主要活動Android的共享偏好mColorPicker問題
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
this._blimp.setTopNameColor(prefs.getInt(TOPNAME_COLOR_CHOICE, 0xffffffff));
}
當我使用日誌爲了這個,我得到這個-1,爲0xffffffff是默認的顏色,但它並沒有在這裏所有的改變。 所以我知道我在這裏失去了一些東西,在設置我有這個
@Override
public boolean onPreferenceClick(Preference preference) {
final SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(LiveWallpaperSettings.this);
final ColorPickerDialog d = new ColorPickerDialog(this, prefs.getInt("top_name_color", 0xffffffff));
d.setAlphaSliderVisible(true);
d.setButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
SharedPreferences.Editor editor = prefs.edit();
editor.putInt("top_name_color", d.getColor());
editor.commit();
}
});
d.setButton2("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
d.show();
return true;
}
這是我從Main.java在mColorPicker了,把它放在我的livewallpapersettings文件,而不是。在這裏,它改變了對話窗口的顏色沒有問題,但沒有在我的主要活動文件的共享首選項中。 這是一個夢幻般的顏色選擇器,如果我可以得到它的主要活動工作,並更新的共享偏好所以它實際上改變我的顏色。 我知道這可能是簡單的,但希望有人可以幫助我在這裏。 在此先感謝。 山姆
非常感謝這一點,我仍然有問題,將其設置在我的喜好,我還是做錯了,但我因爲這更接近了。再次感謝感激:)山姆 – user870286 2012-02-22 01:48:54
只是爲了讓你知道我得到了它最後的工作,這是因爲在XML這麼簡單的東西添加一個默認值一樣簡單,不知道爲什麼,我很懷念那一個,再次感謝您的幫助 – user870286 2012-02-22 17:57:29
什麼缺省值你給color.For,我公司給錯誤java.lang.ClassCastException:java.lang.String中不能android.app.SharedPreferencesImpl.getInt(SharedPreferencesImpl.java:239)被強制轉換爲java.lang.Integer中 – 2016-09-14 14:47:19