В компании Google developer documentation для фрагментов они упоминают следующее:Что не делать в Фрагментах?
Для того, чтобы повторно использовать компоненты Фрагмент пользовательского интерфейса, вы должны построить каждый, как полностью автономный, модульный компонент, который определяет свое собственное расположение и поведение. После того, как вы определили эти многоразовые фрагменты, вы можете связать их с Activity и подключить их к логике приложения для реализации общего составного интерфейса.
Звучит очень хорошо. Однако они не затрагивают более подробно, чем:
Всеобложение фрагмента-фрагмента осуществляется через связанную с ним деятельность. Два фрагмента никогда не должны связываться напрямую.
Есть ли какие-либо вещи, которые я должен избегать использовать/звонить/делать в своих Фрагментах?
Я полагаю, что использование Singleton нарушило бы повторное использование, введя внешние зависимости/ожидания?
Можно ли назвать Log.*
, SharedPreferences
, Toast
и AlertDialog
из внутри Fragment
, или что-то вы должны избегать делать?
Можно ли назвать getActionBar()
или было бы глупо предположить, что у хостинга Activity
есть ActionBar
?
Если Fragment
должен выдавать что-то пользователю, будь то ошибка или что-то еще, должен ли он сам решить, как вывести это (Log, Toast, AlertDialog и т. Д.), Или он должен отправить строку в обратный вызов и пусть хостинг-мероприятие решает, как/что он должен делать?
A ListFragment
Необходимо заполнить данные, которые необходимо предоставить пользователю. Должен ли он извлекать данные самостоятельно (по сетевому запросу в внутреннем классе AsyncTask
) или он должен запросить хостинг Activity
для извлечения данных для него?
Это было бы лучше для программистов.se – Daenyth