设置当前项时使用PagerAdapter的IllegalStateException

时间:2014-05-19 08:46:46

标签: android android-viewpager android-pageradapter

我正在使用带有自定义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);

1 个答案:

答案 0 :(得分:-1)

有类似的问题。只有你可以及时打电话,notifyDataSetChanged才有效。

对于我的情况,类似于你,在我需要更改页面之前调用它对我不起作用。我通过创建一个新的适配器实例解决了它。对此并不太高兴,但那确实奏效了。