Tuve este problema y no pude obtener el metodo getCurrentItem()
.
Terminé obteniendo el puesto del ViewPager
y no del PageAdapter
. El método onPageSelected(int currentPage)
está obteniendo la página que se muestra actualmente.
//custom PageAdapter implementation
mAdapter = new AwesomePagerAdapter();
//Our custom view pager that extends from ViewPager
mPager = (CustomViewPager) findViewById(R.id.preview_gallery);
mPager.setAdapter(mAdapter);
// get the item that we should be showing from the intent
mCurrentPage = extra.getInt("currentIndex");
// show the item the user picked
mPager.setCurrentItem(mCurrentPage);
// listen for page changes so we can track the current index
mPager.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageScrollStateChanged(int arg0) {
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
}
public void onPageSelected(int currentPage) {
//currentPage is the position that is currently displayed.
}
});
Hacerlo en el PageAdaper
no funcionó para mí como yo quiero para precargar imágenes que no son visibles. La posición que se pasa instantiateItem(View collection, int position)
del PageAdapter` es la posición del siguiente elemento inicializado. Esto no tiene nada que ver con el elemento que se muestra.
Estoy usando el paquete de compatibilidad, y amplía PagerAdapter, tampoco hay un método getCurrentItem. ¿Cómo puedo hacer uno? http://pastebin.com/LabjNvqL – CQM
No, el oncreate solo se ejecuta al inicio cuando la página es 0, úselo en otro lugar cuando la página no es 0 y devolverá ese número de página –
@CQM está utilizando un VIewPager y estás configurando su adaptador para esa clase, muéstrame la clase en la que tienes un –