? ? 接觸android時間不長,今天在寫程序的時候想要根據(jù)數(shù)據(jù)變化改變RecyclerView列表的程序炉峰,在改變數(shù)據(jù)后,更新界面時報如下的錯誤:Only the original thread that created a view hierarchy can touch its views热芹。
看這錯誤的意思是只能在主線程操作view斋荞,在網(wǎng)上找了找文章,應(yīng)該是用handler解決的這個問題轴合,隨后做了以下實驗创坞,在Activity的Create方法中寫如下代碼:
mHandler = new Handler(){
? ? ? ? ? ? @Override
? ? ? ? ? ? public void handleMessage(Message msg) {
? ? ? ? ? ? ? ? super.handleMessage(msg);
? ? ? ? ? ? ? ? switch (msg.what){
? ? ? ? ? ? ? ? ? ? case 1:
? ? ? ? ? ? ? ? ? ? ? ? getContactsList(rainbowContacts);
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? };
在數(shù)據(jù)變化的監(jiān)聽中發(fā)送消息:
Message message =new Message();
message.what =1;
mHandler.sendMessage(message);
問題解決!