1. 程式人生 > >java.lang.IllegalStateException: Observer

java.lang.IllegalStateException: Observer 阿新 發佈:2019-01-13

問題描述:

Adapter adapter = new Adapter(context, datas);

list.setAdapter(adapter);

在專案中初始化了2次,結果曝出下面的crash:

java.lang.IllegalStateException: Observer [email protected] was not registered.


解決方案:

list在setAdapter時,首先解除訂閱者mDataSetObserver, 然後生成一個新的訂閱者,然後註冊訂閱者,最後進行資料更新。

後面經過仔細的思考,發現是由於2次操作都是子執行緒中操作的,結果導致crash。