Как вызвать функции во фрагменте из другого? - PullRequest
2 голосов
/ 21 октября 2011

Я поместил два фрагмента в упражнении. Что я хочу сделать, это скрыть представление от, скажем, фрагмента A, когда я нажимаю кнопку во фрагменте B. У меня есть скрывающая функция во фрагменте A, но как я могу вызвать ее во фрагменте B? Я попробовал:

((FragmentA)getActivity().getFragmentManager().findFragmentById(R.id.fragment_a)).hideLivePreview();

но это дает мне исключение нулевого указателя ... пожалуйста, помогите

1 Ответ

4 голосов
/ 21 октября 2011

Вы не хотите делать это вообще. Фрагмент A и Фрагмент B не должны напрямую взаимодействовать, поскольку Фрагмент A и Фрагмент B могут не отображаться на экране одновременно все время . Они могут располагаться рядом на большом экране, но отображаться с помощью отдельных действий на меньших экранах. ИМХО, деятельность должна опосредовать все связи между фрагментами. Если у вас есть два фрагмента, которые слишком тесно связаны между собой, они не должны быть отдельными фрагментами.

С учетом всего сказанного вы получаете NullPointerException, поскольку в упражнении нет фрагмента с таким идентификатором.

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