Как создать селектор для фрагментов в Android? - PullRequest
1 голос
/ 19 января 2012

У меня есть 3 фрагмента, например, FragmentA, FragmentB и FragmentC.У меня есть кнопка на FragmentA.Я хочу, чтобы селектор открывался, как при нажатии на кнопку FragmentA, в которой все пользователи будут выбирать из FragmentB и FragmentC.намерение из списка.

1 Ответ

2 голосов
/ 19 января 2012

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

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

На сайте разработчиков Android есть множество примеров , демонстрирующих, как правильно использовать Fragment s. Предлагаю вам также взглянуть на документацию здесь .

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

Дайте мне знать, помогло ли это! Если нет, оставьте комментарий, и я могу уточнить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...