Viewpager setCurrentItem()不更新onPageSelected()

时间:2013-04-20 01:20:36

标签: java android android-viewpager

当我在问题之间滑动时,它会正确加载当前页码

但是,当我使用下一个按钮时,首先点击不加载页面编号(我的意思是onPageSelected()不起作用。)第二次和其他点击加载内容但它先前加载1页。

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.setContentView(R.layout.activity_main);

    mPager = (ViewPager)findViewById(R.id.pager);
    QuestionPagerAdapter mAdapter = new QuestionPagerAdapter();

    mPager.setAdapter(mAdapter);

    OnPageChangeListener pageChangeListener = new OnPageChangeListener() {

        @Override
        public void onPageScrollStateChanged(int arg0) { }

        @Override
        public void onPageScrolled(int arg0, float arg1, int arg2) { }

        @Override
        public void onPageSelected(int position) {
            tv.setText( mPager.getCurrentItem()+"");
        }

    };

    mPager.setOnPageChangeListener(pageChangeListener);

    Question.next.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View view) {

        mPager.setCurrentItem(getItem(+1));
        }
    }

    private int getItem(int i) {
        int a = mPager.getCurrentItem();
        i += a;
        return i;
    }
});

1 个答案:

答案 0 :(得分:0)

为什么不在你的听众中这样做:

mPager.setCurrentItem(mPager.getCurrentItem()+ 1);