Использование Фрагментов

215
10 апреля 2018, 06:30

Добрый день. Прочитал про фрагменты,не до конца понял логику их использования. Использую паттерн MVC. Имея две кнопки,переключения между двумя ListView. Логику работы я могу сделать в фрагменте. Нажал на ListView и класс фрагмента через контроллер берет данные и возвращает, к примеру, SimpleCursorAdapterr и ListView или только должен использовать его для отображения виджетов,а логику хранить ActivityMain?

Answer 1

Начнем с того, что паттерн MVC реализуется системой Android "из коробки", где контроллером выступает активити (фрагмент), представлением - xml-разметка, а моделью - данные для отображения и специально реализовывать ничего не надо. Фрагмент такой же контроллер, как и активити и свои виджеты должен "обслуживать" сам. Активии в этом случае выступает хостом - управляет самими фрагментами (их отображением, замещением или удалением) и их взаимодействием между собой, но не управляет их содержимым.
В иделае фрагмент ничего не должен знать о активити и выполнять свои функции в любой активити, а не специально для него написанной.

Другое дело, что сама по себе логика - это вообще не "область ответственности" контроллеров, ни активити ни фрагмента. Эти функции должны быть вынесены в другие классы, контроллер занимается только обработкой реакций на действия пользователя или изменением отображения виджетов на экране, делегируя выполнение этих действий дальше.

READ ALSO
Конфликт Kotlin c Butterknife

Конфликт Kotlin c Butterknife

Есть проект написанный полностью на JavaРешил перевести несколько классов в Kotlin

180
Intellij не может найти путь

Intellij не может найти путь

Проект не запускается Выводит как:

196
Реализация HTML 5 в приложение Java

Реализация HTML 5 в приложение Java

Готовлюсь к конкурсу по программированию на JavaВыбрал необычную тему

186
GridLayout Программное размещение фрагментов

GridLayout Программное размещение фрагментов

Программно добавляю фрагменты в GridLayout, фрагменты по нажатию на них удаляются, можно ли сделать так чтобы они построчно тянулись к левому...

183