我正在使用带有自定义ViewPager
的{{1}}来展示图库。
图库可以通过PagerAdapter
方法接收新对象;如果新对象的位置小于或等于当前位置,则更新图库的当前位置以避免更改页面。
onObjectReceived()
即使我在设置新职位之前呼叫ViewPager gallery;
PagerAdapter galleryAdapter;
@Override
public void onObjectReceived(Object object, int position) {
if(galleryAdapter != null) {
galleryAdapter.notifyDataSetChanged();
if(position <= currentPosition)
gallery.setCurrentItem(++currentPosition);
}
}
,我也会遇到以下异常:
notifyDataSetChanged
在
行IllegalStateException: The application's PagerAdapter changed the adapter's content without calling PagerAdapter#notifyDataSetChanged
我该如何解决这个问题?
P.S。:我没有覆盖gallery.setCurrentItem(++currentPosition);
答案 0 :(得分:-1)
有类似的问题。只有你可以及时打电话,notifyDataSetChanged才有效。
对于我的情况,类似于你,在我需要更改页面之前调用它对我不起作用。我通过创建一个新的适配器实例解决了它。对此并不太高兴,但那确实奏效了。