问题描述:
Adapter adapter = new Adapter(context, datas);
list.setAdapter(adapter);
在项目中初始化了2次,结果曝出下面的crash:
java.lang.IllegalStateException: Observer android.widget.AbsListView$AdapterDataSetObserver@42efeec8 was not registered.
解决方案:
list在setAdapter时,首先解除订阅者mDataSetObserver, 然后生成一个新的订阅者,然后注册订阅者,最后进行数据更新。
后面经过仔细的思考,发现是由于2次操作都是子线程中操作的,结果导致crash。