[問題] ListView更新

看板AndroidDev作者 (理由伯)時間9年前 (2014/08/07 11:35), 編輯推噓2(207)
留言9則, 4人參與, 最新討論串1/1
各位大德日安 小弟最近在做 Android BLE 抓取設備端資料後傳輸到ListView顯示 (setCharacterisicNotification) 顯示的程式碼如下 adapter.add(result); runOnUiThread(new Runnable(){ public void run(){ adapter.notifyDataSetChanged(); listview.setAdapter(adapter); listview.refreshDrawableState(); }; }); 資料可以正確接受 但是出現神奇的事情= = 東西傳到listview以後整個listview會消失 測試以後發現只要用手觸控 做出縮小的手勢(兩指碰觸接近)就會出現 我又沒有寫這些東西…… 我想應該是listview更新的問題 另外我測試過如果只有傳送簡單的值 如 adapter. add("aaa"); 則不會有這個問題,希望大德們能指點迷津 ----- Sent from JPTT on my Samsung GT-I9300. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.71.161.168 ※ 文章網址: http://www.ptt.cc/bbs/AndroidDev/M.1407382505.A.18E.html

08/07 12:32, , 1F
adapter設定過一次就好,不需要重新在設定一次
08/07 12:32, 1F

08/07 13:26, , 2F
請問是指listview.refreshDrawableState()這行嗎?
08/07 13:26, 2F

08/07 13:53, , 3F
listview.setAdapter(adapter); 這行
08/07 13:53, 3F

08/07 14:32, , 4F
感謝兩位,我拿掉以後進步到變成只要一指滑動就會顯示了
08/07 14:32, 4F

08/07 14:32, , 5F
08/07 14:32, 5F

08/07 14:33, , 6F
請問這是因為我重複設定listview導致的失誤嗎?我預想是
08/07 14:33, 6F

08/07 14:33, , 7F
能夠直接顯示…
08/07 14:33, 7F

08/07 14:40, , 8F
runOnUiThread 裡 adapter.notifyDataSetChanged(); 要留
08/07 14:40, 8F

08/10 14:33, , 9F
setAdapter搬到init flow, 之後資料有變動只要call noti
08/10 14:33, 9F
文章代碼(AID): #1JulFf6E (AndroidDev)