it-swarm.com.ru

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

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

Есть идеи?

Правка:

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

27
Manak Kapoor

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

ViewPager vp=(ViewPager) getActivity().findViewById(ViewPagerId);
86
Eldhose M Babu

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

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

В Java:

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        ViewPager pager = (ViewPager) container;
        //.... Rest of your method
    }

Котлин Версия:

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup, 
    savedInstanceState: Bundle{

        val pager = container as ViewPager
        //.... Rest of your method
    }
26
Vitor Hugo Schwaab

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

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

1
Pnemonic