Comment puis-je obtenir de l'enfant en Vue d'un ViewPager à un élément donné
Je vais garder la question aussi simple qu'il est humainement possible.
View activeView = mViewPager.getChildAt(mViewPager.getCurrentItem());
renvoie l'enfant lorsque l'élément actuel est de 0 et de 1. Mais si l'élément courant est de 2 il retourne null
. Pourquoi est-ce?
edit: Permettez-moi de reformuler moi-même. Comment puis-je obtenir de l'enfant en Vue d'un ViewPager à tout poste?
Vous devez vous connecter pour publier un commentaire.
Il s'avère
getChildAt(int)
n'était pas la bonne approche. Ce que j'ai fait a été de récupérer la Carte utilisée dans le ViewPager et a trouvé mon point de vue à partir de là:Comme l'a déjà noté la viewPager ne contiendra que les enfants et les enfants adjacentes(currentItem() +/- 1) à moins d'indication contraire par le biais de
setOffscreenPageLimit()
Votre point de vue pager adaptateur est tenue maximum de 2 pages, j'.e 2 vues/fragments, le reste d'entre eux sont recyclés. Dans d'autres cas, ce que vous n'avez pas mentionné, c'est que vous pourriez avoir 2 pages/vues dans le ViewPager.
Veuillez jeter un oeil à
mViewPager.setOffscreenPageLimit()
Ajouter une balise à Viewpager retour de vue.
Lien ci-dessous vous aidera à :
https://stackoverflow.com/a/20186828/1271891
Lors de mes tentatives de trouver un moyen de décorer android points de vue, je pense que j'ai défini solution de rechange pour les th des OP problème que j'ai documenté dans mon blog. Je suis une liaison à ce que le code semble être un peu trop pour tout compris, ici.
La solution que je propose:
null
si ce point de vue est actuellement pas chargé ou la vue correspondante.(Cette question est très simple à cette une dans lequel j'ai posté la même réponse).
Combien d'enfants les points de vue devraient l'être?
Également un ViewPager n'a pas toutes les childs est chargé en même temps. Seulement l'un, c'est de montrer et de la suivante. Vous pouvez utiliser
mViewPager.setOffscreenPageLimit()
, par exemple 3 ou 4, à "précharger" plus d'éléments dans le viewpager.