为什么在我使用PagerAdapter.setPrimaryItem()
选择一个新页面后,会多次调用ViewPager.setCurrentItem(index)
(使用相同的值)?
最佳答案
是的,对我来说,它甚至不停地呼唤。但是,如果需要调用一次,这里有一个简单的解决方案
public class MyPagerAdapter extends PagerAdapter {
private int lastPosition = -1;
@Override public void setPrimaryItem(ViewGroup container, int position, Object object) {
super.setPrimaryItem(container, position, object);
// Only refresh when primary changes
if(lastPosition != position) {
lastPosition = position;
yourFunction();
}
}
}