Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
1

Не выбрать устройство для соединения Bluetooth

29.07.2016, 13:37. Просмотров 352. Ответов 14
Метки нет (Все метки)

Пытаюсь получить в deviceSelected данные для подключения, но get(position); дает ошибку
error: cannot find symbol method get(int)
был бы рад советам

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Set <BluetoothDevice> pairedDevices=bluetoothAdapter.getBondedDevices();
 
 
listViev.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
                 
 
                    BluetoothDevice deviceSelected =pairedDevices.get(position);              
 
                    Toast.makeText(this, "Подключено к " + pairedDevices.get(position).getName() + """, Toast.LENGTH_SHORT).show();       
 
            }
 
            @Override
            public void onNothingSelected(AdapterView<?> adapterView) {
 
            }
        });
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.07.2016, 13:37
Ответы с готовыми решениями:

ПО для управление машиной на arduino по bluetooth
Здравствуйте. Хочу написать ПО для управление машиной на arduino по bluetooth....

Нужно ли устройство с Android для разработки?
Я хотела бы знать, обязательно ли для разработки приложений под Android, нужен...

Клиент bluetooth. как в кнопке правильно вызвать метод для подключения?
нашел в интернете готовый класс private class ConnectThread extends Thread {...

Не подключается устройство Bluetooth
Доброго времени суток. Поставил я, значит Windows 7. На ней прекрасно легли...

Периферийное устройство Bluetooth
Периферийное устройство Bluetooth. , нет драйверов подскажите где взять

14
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
29.07.2016, 14:37 2
А весь кода слабо выложить? Про логи я уже устал спрашивать.
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
29.07.2016, 15:37  [ТС] 3
1) Фактически это и есть весь код в ListViev выведен список устройств и по нажатию на нужный он должен выбраться
С помощью setOnItemSelectedListener отслеживаю нажатие, сама ошибка в get (такого метода нет...), но ведь как то нужно выводить...
2) я не усею пользоваться логами
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
29.07.2016, 16:28 4
То есть это весь код программы? Прикольно. А что такое BluetoothDevice?
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
29.07.2016, 16:49  [ТС] 5
1)
Java
1
import android.bluetooth.BluetoothDevice;
2) естественно программа больше но остальной код не относится к выбору устройства для подключения
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
29.07.2016, 16:54 6
Тогда значит у BluetoothDevice нет метода getName. Но к работе программы в целом это не относится.

Добавлено через 1 минуту
И да, пользоваться логами совсем необязательно. Они только мешают.
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
29.07.2016, 16:58  [ТС] 7
Фактически в pairedDevices находятся все устройства которые ранее коннектились . И теперь нужно выбрать из них нужный. В position находится номер нужного устройства , НО get(position); дает ошибку
error: cannot find symbol method get(int) ((

Добавлено через 3 минуты
getName как раз есть...... а вот просто get нет (( но ведь как то же можно получить значения для коннекта

Добавлено через 46 секунд
я не умею пользоваться логами
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
29.07.2016, 17:00 8
Я пас, вытягивать клещами каждую мелочь нету сил. Не удивлюсь, если Set<BluetoothDevice> равен null.

Добавлено через 1 минуту
Тем более, случайно узнав весь код такой секретной программы, я буду опасаться за свою жизнь.
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
29.07.2016, 17:11  [ТС] 9
ну а смысл весь код выкладывать? Ну например там есть распознавание речи... Оно не имеет абсолютно никакого отношения к выбору устройства для соединения ....

Вот так Заполняется список устройств для соединения и по клику на устройство нужно его выбрать. Устройства в списке видны. То есть этот код работает. А дальше через setOnItemSelectedListener выбрать уже не получается
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void bl()
{
 
    ArrayAdapter<String> btArrayAdapter
            = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1);
 
   // BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
 
 
    if (pairedDevices.size() > 0) {
        for (BluetoothDevice device : pairedDevices) {
            String deviceBTName = device.getName();
 
            btArrayAdapter.add(deviceBTName + "\n" + device.getAddress());
 
        }
    }
    listViev.setAdapter(btArrayAdapter);
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
29.07.2016, 17:23 10
А почему собственно onitemselected, а не onitemclick? Ты ж получаешь имя в последнем примере, получай так же.
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
29.07.2016, 17:34  [ТС] 11
Селект возвращает position то есть номер выбранного

Для соединения имени устройства не достаточно. Нужно все содержимое

этой строкой я как раз и пытаюсь получить все значения BluetoothDevice deviceSelected =pairedDevices.get(position);
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
29.07.2016, 17:36 12
Короче в примере BluetoothChat все написано.
0
petruchodd
129 / 126 / 22
Регистрация: 23.06.2009
Сообщений: 695
Завершенные тесты: 1
29.07.2016, 18:16 13
get даже в документации нету.

get(int position) это скорее выбор с листа

Java
1
2
3
4
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
List<String> deviceList = new ArrayList<String>();
for(BluetoothDevice bt : pairedDevices)
   deviceList.add(bt.getName());
вот получаешь все имена или что там. И уже с листа через get ты можешь получить их.



Java
1
Toast.makeText(this, "Подключено к " + deviceList .get(position) + "", Toast.LENGTH_SHORT).show();
0
OlegJV
103 / 103 / 28
Регистрация: 13.03.2016
Сообщений: 474
29.07.2016, 18:21 14
Ты с листа получаешь строку, в которой имя и MAC, как я понял. Видимо надо из одного адаптера брать position, а по нему из другого name. Я с телефона не могу разобраться.
0
Star2016
5 / 5 / 0
Регистрация: 26.07.2016
Сообщений: 233
29.07.2016, 18:45  [ТС] 15
listViev нужен лишь только чтобы получить position . Для визуального выбора хватит и name , а MAC можно и убрать в listViev он и не нужен особо. А получив position нужно как то получить все данные из BluetoothDevice deviceSelected =pairedDevices.get(position);
но метода get нету и появляется ошибка (

Добавлено через 3 минуты
а в deviceSelected должны попасть все данные выбранного устройства
строка Toast.makeText(this, "Подключено к " + pairedDevices.get(position).getName() + """, Toast.LENGTH_SHORT).show();
для того чтобы проверить что выбрано то что надо (для тестирования)
0
29.07.2016, 18:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.07.2016, 18:45

LENOVO IdeaPad S100 Не могу выбрать устройство для загрузки с носителя
Нетбук Леново IdeaPad S100. Вдруг перестали грузиться винды с сообщением...

Не могу определить bluetooth устройство
Привет всем! Извините, за возможно нубский вопрос, но не могу понять какое...

Не могу удалить устройство bluetooth win 8.1
Помогите! Не могу удалить свой телефон из &quot;этот компьютер&quot;. До этого удалил его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru