有一个应用程序,其中扫描BLE设备,并显示设备的MAC和RSSI值以及与该设备连接的按钮。
RSSI值来自BLE扫描的扫描结果,并在ListView上更新。 扫描设备的频率太高,因此RSSI值经常变化。每次扫描都会调用一个回调,它会在listrong textst中更新RSSI的值并调用notifyDataSetChanged()。
调用每个扫描结果的均值调用notifyDataSetChanged()以刷新UI上的RSSI值。 但过于频繁地调用notifyDataSetChanged()会让我无法点击按钮。 我点击按钮但实际上并没有点击(我的点击在某个地方丢失),而回调是一次又一次刷新适配器。
这是我猜的类似情况,但解决方案尚不清楚
答案 0 :(得分:0)
如果您只在列表视图中添加/修改/删除项目,则可以尝试使用以下更具体的功能之一:
notifyItemChanged(int)
notifyItemInserted(int)
notifyItemRemoved(int)
notifyItemRangeChanged(int, int)
notifyItemRangeInserted(int, int)
notifyItemRangeRemoved(int, int)