我试图使用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