调用notifyDataSetChanged时单击按钮不起作用

时间:2017-04-11 10:57:58

标签: android listview bluetooth-lowenergy

有一个应用程序,其中扫描BLE设备,并显示设备的MAC和RSSI值以及与该设备连接的按钮。

RSSI值来自BLE扫描的扫描结果,并在ListView上更新。 扫描设备的频率太高,因此RSSI值经常变化。每次扫描都会调用一个回调,它会在listrong textst中更新RSSI的值并调用notifyDataSetChanged()。

调用每个扫描结果的均值调用notifyDataSetChanged()以刷新UI上的RSSI值。 但过于频繁地调用notifyDataSetChanged()会让我无法点击按钮。 我点击按钮但实际上并没有点击(我的点击在某个地方丢失),而回调是一次又一次刷新适配器。

这是我猜的类似情况,但解决方案尚不清楚

Click HERE

1 个答案:

答案 0 :(得分:0)

如果您只在列表视图中添加/修改/删除项目,则可以尝试使用以下更具体的功能之一:

notifyItemChanged(int)
notifyItemInserted(int)
notifyItemRemoved(int)
notifyItemRangeChanged(int, int)
notifyItemRangeInserted(int, int)
notifyItemRangeRemoved(int, int)

有关详情,请查看:https://stackoverflow.com/a/33792079/6632568