Я хотел бы отобразить список сопряженных устройств Bluetooth и позволить пользователю выбрать одно из них. Я пытаюсь создать двухстрочный список (одна строка для понятного имени устройства, другая для MAC-адреса) с переключателями.
С этой целью я скопировал simple_list_item_2_single_choice.xml в свой проект и создайте представление списка со следующим кодом:
listView = new ListView(activity);
listView.setItemsCanFocus(false);
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
ArrayAdapter<BluetoothDevice> listViewAdapter = new ArrayAdapter<BluetoothDevice>(activity,
R.layout.simple_list_item_2_single_choice, android.R.id.text1) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView text1 = (TextView) view.findViewById(android.R.id.text1);
TextView text2 = (TextView) view.findViewById(android.R.id.text2);
text1.setText(getItem(position).getName());
text2.setText(getItem(position).getAddress());
return view;
}
};
BluetoothAdapter btAdapter = BluetoothAdapter.getDefaultAdapter();
Set<BluetoothDevice> devices = btAdapter.getBondedDevices();
// addAll() is not supported on APIs below 11
for (BluetoothDevice device : devices)
listViewAdapter.add(device);
listView.setAdapter(listViewAdapter);
Это отображает список так, как я хочу, но я не могу выбрать какие-либо элементы (переключатель остается пустым, когда я нажимаю элемент). Что дает?