ListView refreshen

  • Antworten:3
Eugen T
  • Forum-Beiträge: 27

02.01.2014, 15:17:56 via Website

Hallo Leute,

ich habe folgendes Problem:

Ich habe in meiner Activity zwei ListViews.Eine ListView ist für nicht gepaarte Geräte(Bluetooth) die zweite Liste ist für geapaarte Geräte aus der ich dann mit anderen Bluetooth Geräten Connecten kann.Sobald mein Gerät sich mit einem Gerät paart sollte es normal in die andere Liste(gepaarte Geräte) springen, aber es passiert nichts. Sobald ich die app recreate dann stimmt wieder alles.

Ich habe schon alles versucht:

adapter zu refreshen und zu leeren mit der Methode

Code:
1notifyDataSetChanged()

aber es funktioniert nicht.

Ich bitte um eine Lösung, damit man die zwei ListViews während die Activity läuft, zu refreshen.

Danke Vorraus

Antworten
Eugen T
  • Forum-Beiträge: 27

02.01.2014, 16:05:37 via Website

1@Override
2 public void onReceive(Context context, Intent intent) {
3 // TODO Auto-generated method stub
4
5 String action = intent.getAction();
6
7 if (BluetoothDevice.ACTION_FOUND.equals(action)) {
8 newDeviceName = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE); //Alle gefundene Geräte nacheinander ind newDevice speichern
9
10 if (newDeviceName.getBondState() != BluetoothDevice.BOND_BONDED) { //Wenn das neue Gerät nicht gepaart ist
11 MAC_ADDRESS.add(newDeviceName.getAddress()); //MAC Addresse in ein Arraystring hinzufügen
12 deviceNameAdapter.add(newDeviceName.getName()); //Name des Geräts in einen Adapter hinzufügen
13 }
14 }
15
16 }
17 };
18
19 }

Hinzufüge zum adapter tuh ich ganz normal mit der Methode add() und dann ListView setAdapter Methode. Aus der Liste habe ich noch nichts entfernt.

Antworten
Fabian Simon
  • Forum-Beiträge: 359

03.01.2014, 09:05:46 via Website

Hi,
hab so ziemlich das selebe auch mal gemacht hier der Code:
1public void onReceive(Context context, Intent intent) {
2 String action = intent.getAction();
3 // wenn durch die Suche ein Gerät gefunden wurde
4 if (BluetoothDevice.ACTION_FOUND.equals(action)) {
5 // das Bluetooth-Gerät aus dem Intent holen
6 BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);
7 // Hinzufügen des Namens und der Adresse in ein Array
8 boolean isAddedBefor = false;
9 for (BluetoothDevice one : arrdevices.getDeviceList()){
10 if (one.getAddress().equals(device.getAddress())){
11 isAddedBefor = true;
12 }
13 }
14 if (!isAddedBefor){
15 arrdevices.add(device);
16 arrdevices.notifyDataSetChanged();
17 }
18
19 }
20 }
21 };

Ich denke das kannst du das raussuchen was du brauchst....

— geändert am 03.01.2014, 09:07:25

Antworten