The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDat

在使用viewpager的过程中,有时候会动态的改变content,包括数量,有时候就会碰到这个问题:

java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 0, found: 1

这个问题的出现的直接原因就是viewpager的populate方法里面,mAdapter.getCount的值和之前记录的mExpectedAdapterCount值不一致。

而这个不一致是因为getcount中大家的内容list变化了,而还没来得及调用notifydatasetChanged。

具体可以参考http://www.cnblogs.com/dzboy/p/3629049.html

但是有时候会有各种原因而不能及时的调用notifydatasetChanged,这个时候就会出错,而有网友自己想了一种不是办法的办法,可以借鉴一下。

参考自:http://stackoverflow.com/questions/22943658/illegalstateexception-the-applications-pageradapter-changed-the-adapters-cont

@Override
public int getCount() {

  if (doNotifyDataSetChangedOnce) {
    doNotifyDataSetChangedOnce = false;
    notifyDataSetChanged();
  }

  return actionBar.getTabCount();

}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值