2015-08-20 5 views
0

Я хотел бы попросить совета, я пытаюсь реализовать навигационный ящик с Fragments, но для меня непонятно, как я могу заменить Fragments в зависимости от выбора ящика, мне нужно создать Fragment для каждой опции, а затем использовать переключатель? Или есть другой способ сделать это, я видел пару видео, некоторые из них, похоже, используют только один Fragment, но для меня непонятно, как можно заменить содержимое без создания другого класса Fragment.Навигационный ящик с фрагментами

ответ

0

Это просто зависит от случая.

Я думаю, что самым главным примером Fragment является Google's official one. Он использует общий класс Fragment. Однако класс один и тот же, каждый экземпляр разделен. И он демонстрирует передачу разных аргументов с объектами Bundle для каждого экземпляра.

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

+0

ok Я вижу, потому что для меня непонятно, как я могу указать другой макет для каждого, например, при выборе одного, я хочу показать элемент списка, при выборе 2 я хочу показать форму и так далее, – Juanca

0

Посмотрите на эти ссылки, one и two. Первый из них немного устарел, но это поможет вам понять концепцию навигации.

Чтобы ответить на ваши вопросы, короткая история, вы определяете область в макете, которая отображает макет фрагмента в соответствии с выбранным вами вариантом. Код в официальном учебнике Google демонстрирует, как получить выбранную позицию и отобразить/заменить фрагмент.

Надеюсь, это поможет.

+0

в примере Google я нашел это // Вставить фрагмент, заменив любой существующий фрагмент FragmentManager fragmentManager = getFragmentManager(); fragmentManager.beginTransaction() .replace (R.id.content_frame, фрагмент) .commit(); – Juanca

+0

Да, это правильный способ – user3641702

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