我想在回收器视图中显示检测到的信标。到目前为止,一旦调用了距离更新,我就可以避免创建新的项目,但是我无法获得要更新的距离值。
beaconManager.addRangeNotifier(new RangeNotifier() {
@Override
public void didRangeBeaconsInRegion(Collection<Beacon> beacons, Region region) {
final BeaconAdapter adapter = (BeaconAdapter) recyclerView.getAdapter();
for(Beacon beacon : beacons) {
if(!beaconList.contains(beacon)) {
beaconList.add(beacon);
}
}
runOnUiThread(new Runnable() {
@Override
public void run() {
adapter.clear();
adapter.addAll(beaconList);
}
});
}
});这是我的BeaconAdapter中的代码
public void clear(){
this.beaconList = null;
notifyDataSetChanged();
}
public void addAll(List<Beacon> beaconList){
this.beaconList = beaconList;
notifyDataSetChanged();
}我应该如何正确地显示信标,以便我不会得到多余的项目,但仍然能够获得距离和其他值的更新?
发布于 2017-09-28 15:07:53
您可以始终使用:
yourAdapterName.notifyDataSetChanged();这将使用更新后的数据刷新列表。
https://stackoverflow.com/questions/46462689
复制相似问题