@LockUs

Как сделать PreferenceFragment (О программе) как у Яндекс.Метро?

Вопрос в том, каким образом можно добавить картинку на PreferenceFragment как это сделано у Яндекс.Метро (Настройки->О программе)? Может там и не PreferenceFragment, а отдельная Activity - тогда как перейти на эту активити из PreferenceFragment?

Находил варианты:
1. Добавить к Preference intent с указанием отдельной Activity "О программе" (Не получилось - понимаю как осуществить переход на URL, но не понимаю как обратиться к Activity)
2. Создать отдельный layout и прописать его на PreferenceScreen через android:layout (Не получилось - выдает ошибку)
3. Отлавливать клик по Preference и отправлять на нужную Activity - ругается на строку startActivity, так понимаю из-за "this", но так и не понял что именно в данном случае нужно указать.

Код третьего варианта:
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
    public static class GeneralPreferenceFragment extends PreferenceFragment {
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            addPreferencesFromResource(R.xml.preferences);

            Preference about = (Preference) findPreference("about");

            about.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener()
            {
                public boolean onPreferenceClick(Preference pref)
                {
                    startActivity(new Intent(this, InfoActivity.class));
                    return true;
                }
            });
        }

    }


Вопрос не в конкретно моем коде, а в том как это можно правильно сделать? А в комментарии тогда уже закину код, когда буду пробовать правильным путем делать.

Только опубликовал и сразу решил - getActivity(), конечно... в третьем варианте!
  • Вопрос задан
  • 213 просмотров
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
В Яндекс.Метро не используется PreferenceFragment. Мы считаем это апи неудобным и негибким. Используется обычный фрагмент с обычными вьюхами. И, в общем-то, это оправдано.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы