Урок 111. Android 3. Fragments. PreferenceFragment - настройки. Headers
Урок 111. Android 3. Fragments. PreferenceFragment - настройки. Headers
В этом уроке:
- работаем с PreferenceFragment
- используем Headers
Click here to read this article!
- работаем с PreferenceFragment
- используем Headers
Click here to read this article!
Последний раз редактировалось damager82 25 май 2017, 13:34, всего редактировалось 9 раз.
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Есть какой то способ использование PreferenceFragment в меньших версиях (Target Version) адроид??
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Похоже, что пока нет - http://developer.android.com/tools/extr ... html#Usingvovaxo писал(а):Есть какой то способ использование PreferenceFragment в меньших версиях (Target Version) адроид??
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
PreferencesActivity есть
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
vovaxo, есть, support library 4 это делает, скачай самый новый ADT, там уже автоматически добавляет эту библиотеку в проект
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
В каком пакете этой библиотеки находится класс PreferenceFragment?fastwow писал(а):vovaxo, есть, support library 4 это делает, скачай самый новый ADT, там уже автоматически добавляет эту библиотеку в проект
-
- Сообщения: 1
- Зарегистрирован: 20 ноя 2012, 20:19
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
В посте после строк "Если запустить это же приложение на планшете с Android 3.2, оно будет выглядеть так" показан скриншот с интересной темой.
Такая тема присутствует на девайсе Samsung Galaxy Tab в его настройках.
Подскажите пожалуйста, а то сколько тем перелопатил, не нашел такой же в стандартных themes.xml.
Нужна именно такая тема, где правый фрагмент стрелкой перекрывает левый. Буду очень благодарен за ответ..
Такая тема присутствует на девайсе Samsung Galaxy Tab в его настройках.
Подскажите пожалуйста, а то сколько тем перелопатил, не нашел такой же в стандартных themes.xml.
Нужна именно такая тема, где правый фрагмент стрелкой перекрывает левый. Буду очень благодарен за ответ..
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
А каким образом сделать, чтобы после активации третьего заголовка, на котором заявлены android.settings.DISPLAY_SETTINGS, по нажатии "возврат" активировался первый заголовок?
Получается, что при нажатии возврат видно содержимое первого заголовка а активен третий.
Получается, что при нажатии возврат видно содержимое первого заголовка а активен третий.
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Я с PreferenceFragment одного понять не могу, в каком методе расположить чтение в Preference свежих настроек из БД?
Просто onCreate у нас выполняется единожды перед отображением фрагмента, но если на фрагмент вернулись, как освежить данные, что лежат в Preference?
Просто onCreate у нас выполняется единожды перед отображением фрагмента, но если на фрагмент вернулись, как освежить данные, что лежат в Preference?
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Сам спросил, сам ответилneoksi писал(а):Я с PreferenceFragment одного понять не могу, в каком методе расположить чтение в Preference свежих настроек из БД?
Просто onCreate у нас выполняется единожды перед отображением фрагмента, но если на фрагмент вернулись, как освежить данные, что лежат в Preference?
В общем читать настройки и отправлять их на отображение лучше всего в onResume, а снимать наблюдение за изменением в onPause.
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
А можно получить исходники этого урока?
У меня после последнего изменения MainActivity просто начинает вылетать программа.
У меня после последнего изменения MainActivity просто начинает вылетать программа.
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
А логи что говорят? В какой строке и какая ошибка?Menos писал(а):А можно получить исходники этого урока?
У меня после последнего изменения MainActivity просто начинает вылетать программа.
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Эклипс отказывается принимать наследника от PreferenceFragment с измененным консруктором, ему видители нужен пустой конструктор, да и простым внутренним классом его не сделаешь (не статик). Объясните мне зачем это сделано, нафига так коряво уродывать архитектуру.
Хочется руки пообрубать разработчикам за подобное. Насколько все раньше просто было с PreferenceActivity, а теперь эти фрагменты понасували. Такое ощущение, что скоро нажно будет чуть ли не для единицы писать адаптор. Гениальности (лаконичности и красоты) в java и андройде все меньше и меньше.
Хочется руки пообрубать разработчикам за подобное. Насколько все раньше просто было с PreferenceActivity, а теперь эти фрагменты понасували. Такое ощущение, что скоро нажно будет чуть ли не для единицы писать адаптор. Гениальности (лаконичности и красоты) в java и андройде все меньше и меньше.
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Причем все работает хорошо в версиях до 15-й включительно, а уже с 16 начинает требовать пустой конструктор.
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Да, оно. Жалко за такие уродства нельзя разработчикам минусы поставить.
Если нужна возможность повторного запуска, то надо в аргументах
getFragmentManager().beginTransaction().replace(...)
передавать не сам объект, а фабрику, или на худой конец сам класс(*.class), по которому можно создать объект.
Или уже в сам PreferencesFragment добавлять метод, возвращающий новый чистый класс.
А так не красиво, очень не красиво.
Тогда вопрос. У PreferencesFragment
Для каждого PreferencesFragment свой Bungle? Или он общий? Ну, что будет, если есть одновременно 2 объекта одного и того же класса. Один перезапишет (потрет) данные другого(если Бангл общий)?
Если нужна возможность повторного запуска, то надо в аргументах
getFragmentManager().beginTransaction().replace(...)
передавать не сам объект, а фабрику, или на худой конец сам класс(*.class), по которому можно создать объект.
Или уже в сам PreferencesFragment добавлять метод, возвращающий новый чистый класс.
А так не красиво, очень не красиво.
Тогда вопрос. У PreferencesFragment
Код: Выделить всё
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
}
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
....
}
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
Я только начал разбираться с фрагментами, поэтому могу быть неточен, но думаю что один фрагмент дважды создать нельзя, по крайней мере в одном контейнере (в двух наверняка можно). Поэтому если дело касается одного контейнера, то там вообще один объект, значит и объект bundle будет один. А если вы попробуете добавить второй (к комментарию затрется он или нет), то вылезет ошибка, что-то типа "... already exists...".
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
не особо понимаю как пользоваться PreferenceFragment вместе с обычным окном(допустим MainActivity). вопрос вызывает то как вызвать PreferenceFragment из MainActivity? в статье написано что пользоваться PreferenceFragment нужно также как и PreferenceActivity. Проблем с изучением PreferenceActivity не возникало, там всё просто - в MainActivity получил DefaultSharedPrefs, и запускай через Intnet PreferenceActivtiy... Однако как поступать с фрагментами непонимаю. Вижу два выхода:
1) при клике на определенную кнопочку нужно создавать отдельное новое Активити (унаследованное от Activity) и ему назначать в качестве контента PrefereceFragment.
2) при клике на кнопку новое Активити не создавать, а скрывать текущий контент и зaменять его методом FragmentTransaction.replace на новый PreferenceFragment. но этот способ правда сработает если в вызвавшей Активности в конейнере отсутствуют элементы View.
...
так вот. как мне быть ? каким способом пользоваться? может быть есть ещё способы ?
1) при клике на определенную кнопочку нужно создавать отдельное новое Активити (унаследованное от Activity) и ему назначать в качестве контента PrefereceFragment.
2) при клике на кнопку новое Активити не создавать, а скрывать текущий контент и зaменять его методом FragmentTransaction.replace на новый PreferenceFragment. но этот способ правда сработает если в вызвавшей Активности в конейнере отсутствуют элементы View.
...
так вот. как мне быть ? каким способом пользоваться? может быть есть ещё способы ?
Re: Урок 111. Android 3. Fragment
1) Так точно пользуются, на форуме уже была ссылка на статью http://android-er.blogspot.ru/2012/07/e ... gment.html
Я, если честно, не догоняю в чем преимущество использования фрагментов. Так же мне непонятно как управлять доступностью настроек, допустим, у меня есть настройка включающая некий режим при котором используются дополнительные настройки и пока галочка отвечающая за этот режим снята соответственно и редактирование этих полей недоступно и наоборот.
Также я не могу добиться, чтобы значения настроек выводились сразу на экран вместо Title и Summary.
Я, если честно, не догоняю в чем преимущество использования фрагментов. Так же мне непонятно как управлять доступностью настроек, допустим, у меня есть настройка включающая некий режим при котором используются дополнительные настройки и пока галочка отвечающая за этот режим снята соответственно и редактирование этих полей недоступно и наоборот.
Также я не могу добиться, чтобы значения настроек выводились сразу на экран вместо Title и Summary.
Re: Урок 111. Android 3. Fragments. PreferenceFragment - нас
понятно. тогда зачем нужен этот PreferenceFragment? если можно сразу но нажатию на кнопку запустить PrefenceActivity минуя фрагмент ?