Fragment
s всегда должны быть предназначены для повторного использования, и, следовательно, вы не должны писать код, который напрямую ссылается на Fragment
из другого Fragment
. Другими словами, родитель ActivityA
должен управлять вашими транзакциями фрагмента.
Предположим, что ActivityA
является родительским действием для FragmentA
, FragmentB
и FragmentC
. Что вы могли бы сделать, это определить интерфейс обратного вызова внутри фрагмента и потребовать, чтобы действие хоста реализовало его. Когда действие получает обратный вызов через интерфейс, оно может обмениваться информацией с другими фрагментами в макете по мере необходимости. Если вам когда-либо приходится иметь дело только с одним родительским действием для управления всеми тремя Fragments
, вам не нужно создавать новый Intents
для запуска новых Activity
s ... вместо этого ваш родительский ActivityA
должен использовать FragmentManager
и просто заполните его макет нужным фрагментом при получении обратного вызова события.
На сайте разработчиков Android есть множество примеров , демонстрирующих, как правильно использовать Fragment
s. Предлагаю вам также взглянуть на документацию здесь .
Наконец, я просто хотел бы отметить, что кажется, что дизайн с вкладками отлично подойдет для вашей ситуации (то есть заполнение ActionBar
тремя вкладками, которые обеспечивают быструю навигацию между Fragment
с). Проверьте это образец кода для получения дополнительной информации.
Дайте мне знать, помогло ли это! Если нет, оставьте комментарий, и я могу уточнить.