WuXiaolong / PullLoadMoreRecyclerView

实现RecyclerView下拉刷新和上拉加载更多以及RecyclerView线性、网格、瀑布流效果演示
1.39k stars 371 forks source link

重复解绑造成闪退 #33

Closed TanShuHeng closed 7 years ago

TanShuHeng commented 7 years ago

异常输出: java.lang.IllegalStateException: Observer com.wuxiaolong.pullloadmorerecyclerview.PullLoadMoreRecyclerView$EmptyAdapterDataObserver@53ae2ba8 was not registered.

推测异常代码块: @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); RecyclerView.Adapter oldAdapter = mRecyclerView.getAdapter(); if (oldAdapter != null) { oldAdapter.unregisterAdapterDataObserver(mEmptyDataObserver); } }

推测原因: 在Fragment中使用该控件,第一次调用setAdapter方法时会去注册一个观察者,在离开页面时解绑,但如果Fragment没有被销毁是不会再去调用setAdapter方法的,但在异常代码块中会再次调用解绑的方法,造成异常并闪退

WuXiaolong commented 7 years ago

请试下最新的1.1.2