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.
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);
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
}
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()