Closed UserNameBoss closed 4 years ago
可以继承UltraViewPager方法后再setAdapter()方法中设置自己创建UltraViewPagerCenterListener的监听,以覆盖原有的监听。 ` @Override public void setAdapter(PagerAdapter adapter) { super.setAdapter(adapter); if(this.getViewPager().getAdapter()!=null&&this.getViewPager().getAdapter() instanceof UltraViewPagerAdapter) { ((UltraViewPagerAdapter)this.getViewPager().getAdapter()).setCenterListener(this); } }
@Override
public void center() {
......
}
@Override public void resetPosition() { this.getViewPager().setCurrentItem(this.getViewPager().getCurrentItem()); }`
在Adapter调用了notifyDataSetChanged()后会回调finishUpdate()方法继而调用UltraViewPagerCenterListener.center()方法
@Override public void center() { setCurrentItem(0); }
因此造成在调用setCurrentItem()无效.