Android 如何根据RSSI对可编程设备进行分类?

Android 如何根据RSSI对可编程设备进行分类?,android,bluetooth-lowenergy,Android,Bluetooth Lowenergy,我能够扫描可扩展设备并显示它们。我也得到了他们的RSSI值。但我需要在“回收器”视图中按信号强度(从强到弱)对这些设备进行排序,并在每个扫描设备旁边显示不同的信号符号。你知道怎么做到吗 用什么替换案例编号(1,2,3,4,5) 我假设具有更强信号强度的设备具有更大的整数。因此,您可以对适配器中提供的列表进行排序 您可以在控制器内创建适配器之前执行此操作。比如说 YourAdapter adapter = new YourAdapter(yourList); 您可以使用类似Java 8的过滤器对

我能够扫描可扩展设备并显示它们。我也得到了他们的RSSI值。但我需要在“回收器”视图中按信号强度(从强到弱)对这些设备进行排序,并在每个扫描设备旁边显示不同的信号符号。你知道怎么做到吗

用什么替换案例编号(1,2,3,4,5)


我假设具有更强信号强度的设备具有更大的整数。因此,您可以对适配器中提供的列表进行排序

您可以在控制器内创建适配器之前执行此操作。比如说

YourAdapter adapter = new YourAdapter(yourList);
您可以使用类似Java 8的过滤器对该列表进行排序:

sortedBLEDevices = 
yourList.stream()
        .sorted(Comparator.comparing(ScannedDevice::getRssi)) // sort by Rssi
        .collect(Collectors.toList());
sortedBLEDevices = 
yourList.stream()
        .sorted(Comparator.comparing(ScannedDevice::getRssi)) // sort by Rssi
        .collect(Collectors.toList());