Android PagerAdapter, get current position

前端 未结 5 1279
情话喂你
情话喂你 2021-01-01 09:54

I want to get the current position of the visible view of my PagerAdapter

I didn\'t see an obvious function like getPosition() and I want one.

I

5条回答
  •  暖寄归人
    2021-01-01 10:38

    Here's an updated solution that I used myself. Since setOnPageChangeListener is now deprecated you must use addOnPageChangeListener.

    viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                int counterPosition;
                if (position == 0 || position <= currentInventory.size()){
                    counterPosition = position + 1;
                } else {
                    counterPosition = position;
                }
    
                viewPagerHeader.setText("Prize " + counterPosition + " of " + currentInventory.size());
    
            }
    
            @Override
            public void onPageSelected(int position) {
    
            }
    
            @Override
            public void onPageScrollStateChanged(int state) {
    
            }
        });
    

    The implementation above displays the correct index in my TextView so that positions 0 and the last item in the listcurrentInventory.size() display correctly. Hope this helps someone looking for an updated solution.

提交回复
热议问题