我正在使用来自 android.support.v4.view.ViewPager 库的 ViewPager 和 PagerAdapter,如果我的当前项目也是零号,我想删除零号项目如果列表。我可以删除它而不会出现任何错误,但屏幕不会立即刷新。如果我转到第 2 项并返回,则第 0 项将被更新。任何人都可以解决这个问题吗?
我正在使用下面的删除功能:
public View removePage(int position) {
if ((position < 0) || (position >= getSize()) || (getSize()<=1)) {
return null;
} else {
if (position == mPager.getCurrentItem()) {
if(position == (getSize()-1)) {
mPager.setCurrentItem(position-1);
} else if (position == 0){
mPager.setCurrentItem(1);
}
}
View tempView = myPagerAdapter.mListViews.remove(position);
myPagerAdapter.notifyDataSetChanged();
return tempView;
}
}
我猜这个问题应该发生在函数调用中
setCurrentItemInternal(newCurrItem, false, true);
在 ViewPager.java 中,newCurrItem 的参数为“0”,mCurItem 的参数为“0”。此外,问题应该出在 completeScroll(); 或 scrollTo(destX, 0); 在 setCurrentItemInternal() 结束时;