Общие настройки Android Проблема mColorPicker - PullRequest
0 голосов
/ 21 февраля 2012

Я пытаюсь использовать 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.Здесь он меняет цвет диалогового окна без проблем, но не в общих настройках в моем основном файле активности.Это фантастическая палитра цветов, если я могу просто заставить ее работать и обновлять общие настройки в основной деятельности, чтобы она фактически меняла мой цвет.Я знаю, что это, вероятно, что-то простое, но, надеюсь, кто-то может помочь мне здесь.Заранее спасибо.Sam

1 Ответ

0 голосов
/ 21 февраля 2012

Я использовал этот ColorPicker, и он прекрасно работает.

В настройках есть кнопка для отображения диалогового окна при нажатии.

Я использую

SharedPreferences sharedPreferences = getSharedPreferences(MY_PREFERENCES, Activity.MODE_PRIVATE);
editor = sharedPreferences.edit();

, а затем, когда пользователь выбирает цвет

editor.putInt(TEXT_COLOR, color);
editor.commit();

В своей основной деятельности вы получите цвет на

prefs = getSharedPreferences(Preferences.MY_PREFERENCES, Activity.MODE_PRIVATE);
textColor = prefs.getInt(Preferences.TEXT_COLOR, R.color.black);

Надеюсь, это поможет.

...