Получение родительского представления ViewPager изнутри фрагмента - программирование

Получение родительского представления ViewPager изнутри фрагмента

Я пытаюсь получить доступ к родительскому viewpager изнутри фрагмента, но я понятия не имею, как это сделать. Мне нужно переключить currentItem на ViewPager после события onClick внутри фрагмента.

Любые идеи?

EDIT:

Я хочу получить доступ к родительскому представлению (ViewPager View), чтобы я мог изменить текущий объект, который является видимым, изнутри одного из моих фрагментов.

4b9b3361

Ответ 1

Из фрагмента вызовите getActivity(), который даст вам действие, в котором размещен фрагмент. Затем вызовите findViewById (ViewPagerId), чтобы получить ViewPager.

ViewPager vp=(ViewPager) getActivity().findViewById(ViewPagerId);

Ответ 2

Немного поздно, но вы можете получить в Fragment onCreateView.

Параметр "container" является родительским представлением в этом случае ViewPager.

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        ....
        ViewPager pager = (ViewPager) container;
        ....
    }

Изменить: Он полностью безопасен при правильной утилизации фрагментов и управлении back-stack. Я делал плохие вещи с моими фрагментами, поэтому иногда у меня был "пустой" контейнер.

Ответ 3

Методы onCreateView и onViewCreated и onAttach называются слишком ранними.

Вид определенно привязан к его родительскому представлению в методе фрагмента onResume. Это хорошее место для использования getView().getParent()