私はrecyclerviewで検出されたビーコンを表示したいです。これまでは、範囲指定の更新が呼び出されると新しいアイテムを作成することは避けられましたが、距離の値を更新することはできません。アンドロイドビーコン - 表示距離の更新が
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();
}
私は冗長なアイテムを取得しますが、まだ距離のアップデートを入手することができ、その他のいないよように、どのように適切にビーコンを表示すべきです値?
良い質問。要素が変わったときにRecyclerViewの更新を強制する方法がわかりませんが、それがここでの中心的な質問です。他のタグを追加して、この主題に関する専門家を引き付けることができます。 – davidgyoung