[问题] ListView更新

楼主: LUB5566 (理由伯)   2014-08-07 11:35:02
各位大德日安
小弟最近在做 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");
则不会有这个问题,希望大德们能指点迷津
作者: passli   2014-08-07 12:32:00
adapter设定过一次就好,不需要重新在设定一次
楼主: LUB5566 (理由伯)   2014-08-07 13:26:00
请问是指listview.refreshDrawableState()这行吗?
作者: LiHowDie (我要坚强 我可以)   2014-08-07 13:53:00
listview.setAdapter(adapter); 这行
楼主: LUB5566 (理由伯)   2014-08-07 14:32:00
感谢两位,我拿掉以后进步到变成只要一指滑动就会显示了…请问这是因为我重复设定listview导致的失误吗?我预想是能够直接显示…
作者: passli   2014-08-07 14:40:00
runOnUiThread 里 adapter.notifyDataSetChanged(); 要留
作者: normaler (㊣天才㊣)   2014-08-10 14:33:00
setAdapter搬到init flow, 之后资料有变动只要call noti

Links booklink

Contact Us: admin [ a t ] ucptt.com