«mArrayAdapter не может быть разрешен» в проекте Android Bluetooth. - PullRequest
0 голосов
/ 24 марта 2012

Я разрабатываю приложение Bluetooth для Android на платформе 2.2. У меня есть два экземпляра mArrayAdapter в моем коде, и оба они не могут быть решены. Мой код почти такой же, как код на сайте разработчиков Android, потому что я использовал его в качестве примера. Я попытался определить переменные локально, но затем я получаю сообщение об ошибке .add после mArrayAdapter. Я нашел статьи, у которых есть подобные проблемы, но ни один из их ответов не работал для меня. Я думаю, что я должен где-то это определить, но я не нашел ни одной записи о том, что нашел в Интернете. Я буду вставлять некоторые из кода ниже. Спасибо.

     //Find the paired Devices
Set<BluetoothDevice> pairedDevices = mBluetoothAdapter.getBondedDevices();
//If there are paired devices
if (pairedDevices.size() > 0) {
 // Loop through paired devices
 for (BluetoothDevice device : pairedDevices) {
     // Add the name and address to an array adapter to show in a ListView
     //---------------------> ERROR BELOW <------------------------
     mArrayAdapter.add(device.getName() + "\n" + device.getAddress());

 }
}
// Discovering Bluetooth Devices.
final BroadcastReceiver mReceiver = new BroadcastReceiver() {
        public void onReceive (Context context, Intent intent) {
        String action = intent.getAction();
        //When discovery finds a device
        if (BluetoothDevice.ACTION_FOUND.equals(action)) {
            //Get the BluetoothDevice object from the Intent
            BluetoothDevice device =   intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
            //Log.v("bluetooth Tesing",device.getName() + "\n" + device.getAddress());
            // Add the name and address to an array adapter to show in ListView. 
            //---------------------> ERROR BELOW <------------------------
            mArrayAdapter.add(device.getName() +"\n" + device.getAddress());
        }
    }
}; 

1 Ответ

0 голосов
/ 25 марта 2012

В примере Bluetooth-чата DeviceListActivity, который вы используете в качестве шаблона, вы увидите, что оба адаптера два ArrayAdapter объявлены как переменные-члены в классе (отсюда префикс 'm')верх класса.Оба они создаются с помощью

 m?????ArrayAdapter = new ArrayAdapter<String>(this, R.layout.device_name);

в onCreate.Вам нужно сделать что-то аналогичное для вашего одного адаптера, прежде чем пытаться добавить к нему элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...