2016-03-18 86 views
1

以下是我instantiateItem方法动视寻呼机第一个项目,当达到视图寻呼机结束

@Override 
    public Object instantiateItem(ViewGroup container, int position) { 
     View itemView = mLayoutInflater.inflate(R.layout.pager_item, container, false); 

     ImageView imageView = (ImageView) itemView.findViewById(R.id.img); 
     TextView textView = (TextView) itemView.findViewById(R.id.txt); 
     imageView.setImageResource(mResources[position]); 
     textView.setText(mCompanies[position]); 
     container.addView(itemView); 

     return itemView; 
    } 

我想通过滚动来检测,如果用户已经达到视图寻呼机的结束,如果用户已经达到最后,我想动摇整个viewpager从左到右。我该怎么做?

回答

2
@Override 
public void onPageScrollStateChanged(int state) { 

    //mImageResource is image array 

    if(state<mImageResources.length) 
    { 
    //intro_images is viewpager   
    intro_images.setCurrentItem(0,true); 
    } 

} 
1

您可以使用OnPageChangeListener这个

pager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
      @Override 
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

      } 

      @Override 
      public void onPageSelected(int position) { 
       if(position == lastPosition){ 
        pager.setCurrentItem(0, true); 
       } 
      } 

      @Override 
      public void onPageScrollStateChanged(int state) { 

      } 
     }); 
+0

谢谢你,但如何让最后的位置? –

+0

pager.getAdapter()。getCount() - 1; –

+0

当我滑动到最后一个视图寻呼机屏幕时,它会自动滚动到第一个屏幕。它应该滚动到第一个视图页面屏幕只有当我滚动最后一个。 –