web-dev-qa-db-fra.com

Obtenir une vue parent ViewPager depuis l'intérieur du fragment

J'essaie d'accéder au viewpager parent depuis un fragment, mais je ne sais pas comment faire. Je dois changer le currentItem sur le ViewPager après un événement onClick dans le fragment.

Des idées?

MODIFIER:

Je souhaite accéder à la vue parent (ViewPager View) afin de pouvoir modifier le currentItem visible, de l'intérieur d'un de mes fragments.

27
Manak Kapoor

A partir de fragment, appelez getActivity (), qui vous indiquera l'activité dans laquelle le fragment est hébergé. Appelez ensuite findViewById (ViewPagerId) pour obtenir le ViewPager.

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

Un peu tard, mais vous pouvez avoir la méthode onCreateView du fragment.

Le paramètre container est la vue parente, dans ce cas, un ViewPager.

En Java:

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

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

Version Kotlin:

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

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

Les méthodes onCreateView et onViewCreated et onAttach sont appelées trop tôt.

La vue est définitivement attachée à sa vue parente dans la méthode onResume du fragment. C’est un bon endroit pour utiliser ensuite getView().getParent()

1
Pnemonic