Je sais qu'avec le widget Gallery, j'ai pu utiliser getSelectedItemPosition (); pour récupérer la position actuelle, cependant il ne semble pas que ViewPager ait cela.
Je sais que je peux configurer un auditeur et récupérer la position lorsque la page est commutée. Mais je veux la position de vue actuelle.
Créez un écouteur et définissez-le sur votre viewpager:
/**
* Get the current view position from the ViewPager by
* extending SimpleOnPageChangeListener class and adding your method
*/
public class DetailOnPageChangeListener extends ViewPager.SimpleOnPageChangeListener {
private int currentPage;
@Override
public void onPageSelected(int position) {
currentPage = position;
}
public final int getCurrentPage() {
return currentPage;
}
}
Vous pouvez utiliser:
mViewPager.getCurrentItem()
Mise à jour 2019
Vous pouvez maintenant définir addOnPageChangeListener
sur View Pager pour observer le changement de position de la page.
Puisque vous vouliez configurer un auditeur et récupérer la position lors du changement de page
mViewPager.addOnPageChangeListener(object : OnPageChangeListener {
override fun onPageScrollStateChanged(state: Int) {}
override fun onPageScrolled(position: Int, positionOffset: Float, positionOffsetPixels: Int) {}
override fun onPageSelected(position: Int) {
pagePosition.setText("" + position + "/" + galleryAdapter!!.count)
}
})