gpt4 book ai didi

java - 如何将 ArrayAdapter 适配器放入 ArrayList?

转载 作者:行者123 更新时间:2023-11-29 09:17:55 25 4
gpt4 key购买 nike

我正在尝试制作一个应用程序来检测附近可发现的蓝牙设备,并将所有 mac 地址放入一个列表中。由于我不明白的原因,如果我尝试使用列表存储来自 device.getAddress() 的字符串,应用程序会崩溃。

在未能将这些地址放入列表后,我放弃了并使用了一个 ArrayAdapter 看到它在一些示例代码中使用。我的想法是也许我可以将结果放入 ArrayAdapter,然后从中提取地址,然后放入 myList。还是不行据我所知,如果我的应用程序不崩溃,我就无法使用列表......

当我注释掉与 myList 相关的任何内容时,应用程序不会崩溃。

/* these are declared as class members */
//private ArrayAdapter<String> myArrayAdapter;
//private List<String> myList;
/*-------------------------------*/

private final BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
int position = 0;

if (BluetoothDevice.ACTION_FOUND.equals(action)) {
BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
myArrayAdapter.add(device.getAddress());
//myList.add(device.getAddress());
//position++; //SO USING THIS INTEGER...

} else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
btnLocate.setText("Refresh Location");
btnLocate.setClickable(true);
//position--;
//while(position>=0){
//myList.add(myArrayAdapater.getItem(position).toString());
//position--;
//}
}
}
};

日志:

12-02 12:01:54.472: E/AndroidRuntime(16043): FATAL EXCEPTION: main
12-02 12:01:54.472: E/AndroidRuntime(16043): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.bluetooth.device.action.FOUND (has extras) } in com.ronnyszutu.lpf.LPFMainActivity$1@40519840
12-02 12:01:54.472: E/AndroidRuntime(16043): at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:722)
12-02 12:01:54.472: E/AndroidRuntime(16043): at android.os.Handler.handleCallback(Handler.java:587)

最佳答案

在尝试将设备地址添加到列表之前,您确实初始化了列表吗?此外,您可能想阅读有关 Receiver 生命周期的信息,因为开发人员文档讨论了对象的有效期。 BroadcastReceiver#ReceiverLifecycle

关于java - 如何将 ArrayAdapter 适配器放入 ArrayList?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8359447/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com