Преимущество ListFragment над ListView или нормальным фрагментом
У меня есть действие с меню элементов, идущих по левой стороне, которые являются textViews. когда пользователь выбирает один из текстовых элементов, он помещает listView в остальную часть области действия, занимая остальные 2\3 экрана. когда пользователь коснется другого текстового элемента в этом левом меню страницы, он откроет другой соответствующий список элементов.
Я рассматривал возможность размещения большого списка на экране для этой цели. однако другой способ - вместо использования регулярного listView в активности, я мог бы разместить там фрагмент списка и переключиться между фрагментами.
Третий вариант - разместить там фрагмент и поместить listView внутри этого фрагмента. Я никогда раньше не использовал ListFragment.
который был бы лучшим планом, учитывая, что не будет изменений ориентации? активность будет заблокирована в вертикальной/портретной ориентации. это будет работать на планшете, не используется на небольших устройствах, таких как телефоны.
Я не знаю, нужно ли мне использовать загрузчики, потому что список не будет длинным, а содержимое списка будет только текстовым.
есть ли какое-либо преимущество при использовании listFragment над другими вариантами?
Три варианта этой деятельности:
-
активность с ListView
на нем
-
активность с ListFragment
на нем
-
активность с фрагментом на нем, который имеет ListView inside of the
фрагмента '
Ответы
Ответ 1
ListFragment
- это в основном слегка специализированный Fragment
который упрощает обработку ListView
в макете Fragment
, предлагая некоторые удобные методы (например, getListView()
поэтому вам не нужно самостоятельно искать виджет, метод получения адаптера ListView
т.д.). Если вам нужен Fragment
с ListView
, используйте ListFragment
. Поэтому в конечном итоге речь идет о выборе между ListView
и ListFragment
.
Между двумя вариантами, учитывая ваш сценарий, я просто использовал ListView
потому что он простой. Необходимость Loader
не является проблемой, так как вы можете использовать LoaderManager
Activity
для ListView
.
Однако вы не указали, как следует обращаться с кнопкой BACK. Если вы хотите предложить пользователю возможность навигации через свой выбор, используйте Listfragment
чтобы получить это бесплатно от системы.