ViewPager set current page programmatically

后端 未结 3 1659
庸人自扰
庸人自扰 2020-12-17 08:21

I wrote a custom ViewPager to disable Swipe Scroll, but I want to swipe programmatically. I have three Tab in my view pager, but when

3条回答
  •  南笙
    南笙 (楼主)
    2020-12-17 09:22

    In your PagerActivity use

        viewPager = (ViewPager) findViewById(R.id.view_pager);
        viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                int pagei = position + 1;
                pages=pagei + "";
    
                Toast.makeText(PagerActivity.this, getString(R.string.changeinfopage) + " " + pages, Toast.LENGTH_SHORT).show();
            }
    
            @Override
            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
            }
    
            @Override
            public void onPageScrollStateChanged(int state) {
            }
        });
    

    and

        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
    
    
            switch (item.getItemId()) {
    
                case R.id.action_previous:
    
                    viewPager.setCurrentItem(viewPager.getCurrentItem() - 1);
                    return true;
    
                case R.id.action_next:
    
                    viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);
                    return true;
            }
    
            return super.onOptionsItemSelected(item);
    
       }
    

提交回复
热议问题