2012-03-24 1 views
0

Je développe une application bluetooth pour Android sur la plate-forme 2.2. J'ai deux instances de mArrayAdapter dans mon code, et les deux ne peuvent pas être résolues. Mon code est presque exactement le même que le code sur le site de développement Android, parce que je l'ai utilisé comme un exemple. J'ai essayé de définir les variables localement, mais ensuite j'obtiens une erreur sur .add après mArrayAdapter. J'ai trouvé des articles qui ont des problèmes similaires, mais aucune de leurs réponses n'a fonctionné pour moi. Je pense que je dois le définir quelque part, mais il n'y a aucune notation à ce sujet que j'ai trouvé en ligne. Je vais coller un peu de par le code ci-dessous. Merci."mArrayAdapter ne peut pas être résolu" dans le projet Bluetooth Android.

 //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()); 
     } 
    } 
}; 

Répondre

0

Dans le chat Sample Bluetooth, DeviceListActivity que vous utilisez comme templete, vous verrez que les deux adaptateurs ArrayAdapter sont tous deux déclarés comme variables membres dans la classe (d'où le préfixe « m ») près le sommet de la classe. Ils sont tous les deux instanciés avec

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

dans la fonction onCreate. Vous devez faire quelque chose de similaire pour votre un avant d'essayer d'ajouter un élément à cela.

+0

J'ai ajouté dans le code que vous avez spécifié, mais vous devez changer nom_périphérique à principal. Eclipse me laissera seulement utiliser là-bas. Cela a résolu mes problèmes avec mArrayAdapter. Maintenant, j'ai un problème avec quelques autres lignes qui ont l'erreur "exception non gérée type IOException". J'ai creusé de nouveau par moi-même, mais je n'ai pas trouvé de solution. Je ne comprends pas pourquoi changer une déclaration pour une variable sans rapport a un effet sur plusieurs autres lignes de code. – user1290423