作者LUB5566 (理由伯)
看板AndroidDev
标题[问题] ListView更新
时间Thu Aug 7 11:35:02 2014
各位大德日安
小弟最近在做 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://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1407382505.A.18E.html
1F:→ passli:adapter设定过一次就好,不需要重新在设定一次 08/07 12:32
2F:→ LUB5566:请问是指listview.refreshDrawableState()这行吗? 08/07 13:26
3F:推 LiHowDie:listview.setAdapter(adapter); 这行 08/07 13:53
4F:→ LUB5566:感谢两位,我拿掉以後进步到变成只要一指滑动就会显示了 08/07 14:32
5F:→ LUB5566:… 08/07 14:32
6F:→ LUB5566:请问这是因为我重复设定listview导致的失误吗?我预想是 08/07 14:33
7F:→ LUB5566:能够直接显示… 08/07 14:33
8F:→ passli:runOnUiThread 里 adapter.notifyDataSetChanged(); 要留 08/07 14:40
9F:推 normaler: setAdapter搬到init flow, 之後资料有变动只要call noti 08/10 14:33