6

У меня есть NavigationView, используемый в качестве меню вставки. Каждый из этих пунктов меню является самоцелью, поэтому я склонен использовать действия, содержащие разные фрагменты.Действия или фрагменты в NavigationView?

Но почти каждый пример NavigationView/NavigationDrawer использует фрагменты, поэтому я не знаю, что здесь использовать.

Я думал, что разные варианты использования должны быть «инкапсулированы» в свою деятельность, поэтому я не совсем понимаю, почему Navigation[View/Drawer] использует фрагменты. И это приводит меня к моему вопросу: для Navigation[View/Drawer], содержащего полностью отдельные варианты использования - следует ли мне ссылаться на действия или фрагменты?

+0

Навигационный ящик вставляется в действие, и все пункты меню (фрагменты в большинстве случаев). когда вы нажимаете элемент в ящике, он извлекает фрагмент и заменяет его текущим. Если вы используете действия для каждого элемента меню, вы должны поместить «навигационный ящик» в каждую из этих «действий» –

+1

@MurtazaKhursheedHussain, не факт, что он может иметь базовую активность, которая всегда имеет навигационное представление. – k0sh

+0

@ k0sh Это просто лишний. И Swalkner, каждый пример там использует фрагменты по какой-то причине. Это то, что рекомендуется разработчикам Android-разработчиков. ИМО вам просто нужно избавиться от сильной идеи о том, что у вас есть инкапсулирование прецедента в его собственной деятельности, и немного подумайте и понимайте преимущества использования фрагментов. – JanithaR

ответ

0

NavigationDrawer и содержимое всего лишь Views внутри иерархии представления Activity.

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

Но прямой ответ на ваш вопрос таков: все это только вопрос структуры и организации, и на самом деле неважно, как вы это делаете, потому что в конце концов все они просто представляют собой представления в иерархии представлений Activity.

  • Вы можете «вручную» раздуть виды и разместить в области содержимого.
  • Вы используете фрагменты для разделения представлений и логики и собственного контейнера.
  • Вы можете использовать мероприятия с различным контентом и те же самые NavigationDrawer.
1

I posted a similar question

Я создал около 4-5 приложений с середины большого проекта размера. Я использовал фрагменты для кликов по меню навигации и должен был управлять множеством событий жизненного цикла и утечек памяти и материалами дерьма. Производительность ухудшается, и приложение становится медленным.

Затем в одном из приложений, которое я использовал для каждого навигационного меню, клики обрабатываются отдельно от него. Эта операция затем будет использовать фрагменты, если они имеют дочерние представления.

Делая это, у меня было отличное приложение, меньше проблем, и я мог сосредоточиться на Business Logic, а не поддерживать фрагменты.

Хотя Google рекомендует Фрагменты, но я никогда не любил их, они всегда приводили меня в беду, и обращение с ними было беспорядком.

В моем текущем Проекте я создал навигационную систему BaseActivity, и все остальные действия расширяют ее.

Смежные вопросы