2012-03-24 3 views
0

Ich entwickle eine Bluetooth App für Android auf der 2.2 Plattform. Ich habe zwei Instanzen von mArrayAdapter in meinem Code, und beide können nicht aufgelöst werden. Mein Code ist fast genau derselbe wie der Code auf der Android Dev-Seite, weil ich ihn als Beispiel benutzt habe. Ich habe versucht, die Variablen lokal zu definieren, aber dann bekomme ich einen Fehler auf .add nach mArrayAdapter. Ich habe Artikel gefunden, die ähnliche Probleme haben, aber keine ihrer Antworten hat für mich funktioniert. Ich denke, dass ich es irgendwo definieren muss, aber es gibt keine Notiz darüber, die ich online gefunden habe. Ich werde einige der folgenden Codes einfügen. Vielen Dank."mArrayAdapter kann nicht aufgelöst werden" in Android-Bluetooth-Projekt.

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

Antwort

0

im Sample Bluetooth Chat, DeviceListActivity, die Sie als templete verwenden, werden Sie sehen, dass die zwei ArrayAdapter Adapter sowohl als Membervariablen in der Klasse deklariert werden (daher auch der ‚m‘ Präfix) in der Nähe von die Spitze der Klasse. Sie sind beide instanziiert mit dem

im onCreate. Sie müssen etwas analoges für Ihren einen Adapter tun, bevor Sie versuchen, ein Element hinzuzufügen.

+0

Ich habe den angegebenen Code hinzugefügt, muss aber device_name in main ändern. Eclipse lässt mich nur main dort benutzen. Das hat meine Probleme mit mArrayAdapter gelöst. Jetzt habe ich ein Problem mit ein paar anderen Zeilen, die den Fehler "Unhandled Exception Type IOException" haben. Ich habe mich wieder selbstständig gemacht, konnte aber keine Lösung finden. Ich verstehe nicht, warum das Ändern einer Deklaration für eine nicht verwandte Variable sich auf mehrere andere Codezeilen auswirkt. – user1290423

Verwandte Themen