gpt4 book ai didi

java - ListView仅在旋转手机时显示数据

转载 作者:行者123 更新时间:2023-12-01 17:00:32 24 4
gpt4 key购买 nike

我开始遵循一些有关在Android上使用蓝牙模块的阅读 Material 和示例,基本上我想制作一个测试应用程序,在启动应用程序时显示绑定(bind)设备的列表,我基本上理解我遵循的所有代码我的测试应用程序,但我陷入困境,因为当我运行该应用程序时,它要求启用蓝牙并且不向我显示任何内容,该应用程序仅在我旋转手机时显示列表。我究竟做错了什么?感谢您的帮助

这是我的java代码

public class MainActivity extends AppCompatActivity {
ListView listViewDispositivos;

BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
ArrayList<String> arrayListaConectados = new ArrayList<>();
ArrayAdapter<String> adaptador;
String infoMac, direccionMac;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

listViewDispositivos = findViewById(R.id.listViewDispositivos);

if(bluetoothAdapter == null){
Toast.makeText(MainActivity.this, "Dispositivo no disponible", Toast.LENGTH_LONG).show();
finish();
}
else if(!bluetoothAdapter.isEnabled()){
Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent, 1);
}
else {
Set<BluetoothDevice> pairedDevices = bluetoothAdapter.getBondedDevices();
adaptador = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, arrayListaConectados);
if (pairedDevices.size() > 0) {

for (BluetoothDevice device : pairedDevices) {
arrayListaConectados.add(device.getName() + "\n" + device.getAddress());
adaptador.notifyDataSetChanged();
}
} else {
Toast.makeText(MainActivity.this, "No se encontraron dispositivos", Toast.LENGTH_LONG).show();
}
listViewDispositivos.setAdapter(adaptador);
}

}

最佳答案

最初蓝牙未启用,并且您正在使用 Intent 请求蓝牙启用,这将显示对话框。这不会调用 else 条件,因为蓝牙已关闭。

因此,您需要在 onActivityResult 中获取配对设备,该结果将在您启用蓝牙后立即调用。

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if(requestCode == 1){
if (resultCode == RESULT_OK) {
//Bluetooth is enable get paired device list here
}else {
//Show Error
}
}

}

关于java - ListView仅在旋转手机时显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61511720/

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