Приложение, которое я разрабатываю, имеет активность, которая расширяет SherlockFragmentActivity
. Я хотел бы использовать настройки api, чтобы легко добавлять предпочтения к активности. Поскольку я хотел бы поддерживать уровень api 8 и выше, мне нужно расширить активность из класса SherlockPreferenceActivity
.Android PreferenceActivity и диалоговые фрагменты
Проблема в том, что для работы необходимо отобразить диалог. Диалог расширяет SherlockDialogFragment
. Метод диалога show()
требует двух параметров: объекта FragmentManager
и тега String
.
Чтобы получить объект FragmentManager
, я использовал метод getSupportFragmentManager()
. Этот метод отсутствует в SherlockPreferenceActivity
. Я пытался использовать getFragmentManager()
но Eclipse, говорит, что
Метод шоу (FragmentManager, String) в типе DialogFragment является не применяется для аргументов (FragmentManager, String)
Как я могу показать Диалоговый фрагмент от SherlockPreferenceActivity
?
У меня та же проблема. Нам нужно получить FragmentManager из пакета поддержки, но в SherlockPreferenceActivity нет такой вещи. = ( –
Я решил это по-другому. Создайте еще одно действие под тем же пакетом (не забудьте добавить это новое действие в манифест). Расширьте SherlockPreferenceActivity и реализуйте интерфейс SharedPreferences.OnSharedPreferenceChangeListener. Посмотрите на сайт разработчика Android, чтобы понять как это сделать. Используйте это действие для управления пользовательскими настройками. Из другого действия, когда пользователь нажимает кнопку настройки, запустите активность предпочтения с намерением. Из основного действия вы сможете прочитать настройки с помощью PreferenceManager. –