Topic: Preferences Framework

Обсуждение статьи Preferences Framework

Re: Preferences Framework

У вас на скриншотах присутствует actionbar, но если делать по гайду - он отсутствует(Андроид 5.1), почему?

Re: Preferences Framework

В Android 4 использовался ActionBar, в 5 версии используют Toolbar. ActionBar уходит в прошлое.

Re: Preferences Framework

Здравствуйте!
В <ListPreference> при первом запуске ничего не выделено. Я думал  android:defaultValue="1" должен был задать второй элемент списка. Или я не прав и параметр только говорит значение по умолчанию, но не выделяет в самом списке?

Re: Preferences Framework

Возможно для выделения требуется какой-то стиль. Я давно не пользовался и подсказать не могу.

Re: Preferences Framework

А где можно поподробнее узнать про OnSharedPreferenceChangeListener? С ним два вопроса появились:

1) Как написано в уроке обработчик зарегистрировать не получается. Студия не согласна принимать "this" аргументом в "registerOnSharedPreferenceChangeListener()". Сделал так, через переменную "listener":

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mEditText = (EditText)findViewById(R.id.editText);

        Context context = getApplicationContext();
        SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
        SharedPreferences.OnSharedPreferenceChangeListener listener = (new SharedPreferences.OnSharedPreferenceChangeListener() {
            @Override
            public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) {
                if (key.equals("cat_food")) {
                    String catFood = sharedPreferences.getString(key, "");
                    catFood = catFood + "\n";

                    String myText = mEditText.getText().toString();
                    Toast.makeText(getApplicationContext(), myText, Toast.LENGTH_SHORT).show();
                    myText = myText + catFood;
                    Toast.makeText(getApplicationContext(), myText, Toast.LENGTH_SHORT).show();
                    mEditText.setText(myText);
                    Toast.makeText(getApplicationContext(), mEditText.getText().toString(), Toast.LENGTH_SHORT).show();
                }
            }
        });
        sharedPreferences.registerOnSharedPreferenceChangeListener(listener);
    }

2) Пытаюсь с его помощью "Проверять общие настройки, ключевые параметры и изменять UI или поведение приложения, если потребуется." smile
В этом же коде - добавлять к тексту указанный в настройках подарок коту. Все тосты выводят все правильно, но текст в mEditText в главной активности не изменяется... Его надо как-то пнуть, чтобы обновился?

Re: Preferences Framework

Вконце, где рассказано,как из своей программы запустить стандартные настройки, вопрос касательно фильтра

<activity android:name="Prefs" >
    <intent-filter>
        <action android:name="ru.alexanderklimov.preferences.ACTION_USER_PREFERENCE" />
    </intent-filter>
</activity>

Так вот, что за имя Prefs, откуда оно берется? Это просто в манифесте мы обзываем так третью активность?
И в "ru.alexanderklimov.preferences.ACTION_USER_PREFERENCE" что такое preferences? Судя по другим примерам кода в упражнении, приложение у вас называется по-другому. Ну даже если сюда вписывается название приложения, у меня при попытке запустить стандартную настройку выкидывает ошибку sad

Re: Preferences Framework

Похоже в статью затесался лишний абзац, который относился к другой теме. Удалил.