Я хочу получить текущую позицию видимого вида моего PagerAdapter
Я не видел очевидную функцию типа getPosition(), и я хочу ее.
Я хочу добавить объект в его arraylist в этом положении, но сначала мне нужно знать его
Я хочу получить текущую позицию видимого вида моего PagerAdapter
Я не видел очевидную функцию типа getPosition(), и я хочу ее.
Я хочу добавить объект в его arraylist в этом положении, но сначала мне нужно знать его
Вы бы использовали:
int position = mViewPager.getCurrentItem()
У меня была эта проблема и я не мог получить getCurrentItem().
В итоге я получил позицию из ViewPager, а не из PageAdapter. Метод onPageSelected(int currentPage) получает текущую отображаемую страницу.
//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. 
    }
});
Выполнение этого в PageAdaper не сработало для меня, поскольку я хочу предварительно загрузить изображения, которые не видны. Позиция, которая передается instantiateItem(View collection, int position) для PageAdapter`, является позицией следующего элемента, инициализированного. Это не имеет ничего общего с отображаемым элементом.
если я напишу после этой строки
    Log.i("pager",myPager.getCurrentItem()+"");
он покажет в logcat текущую страницу элемента во время запуска oncreate, которая всегда 0
noteice Я использовал объект для viewpager сам, а не адаптер.