2016-12-30 5 views
0

Ich möchte eine Listenansicht mit allen Bluetooth-Geräten erstellt werden. Jede Zeile enthält einen Verbindungsstatus des Texts. Wenn Sie darauf klicken, wird das Gerät mit dem Remote-Gerät verbunden. Wie kann ich nur die einzelne Zeile des entfernten Geräts aktualisieren, das in der Listenansicht verbunden ist, so dass sich der Verbindungsstatus ändert: getrennt -> Verbindung -> verbunden?Android Bluetooth: Verbindungsstatus für einzelne Zeile in Listenansicht dynamisch aktualisieren

  1. Nur einzelne Zeilen aktualisieren, sodass das Zeilenobjekt irgendwie an den Updater übergeben werden muss?
  2. Der Status muss sich ständig ändern, daher muss ich einen benutzerdefinierten Listener erstellen?

Antwort

0

Sie können Reihe von Listview auf gewünschte Position und Aktualisierung nehmen:

private void refreshConnectionState(int rowIndex, String newConnectionState){ 
    View row = devicesListView.getChildAt(rowIndex); 
    if(row == null) return; 

    TextView stateTextView = (TextView)row.findViewById(R.id.state_text_view);  
    stateTextView.setText(newConnectionState); 
} 
+0

Dank Sergey! Bedeutet das, dass wenn eine bestimmte Zeile angeklickt wird, ich ihren Index finden und in der globalen Variable speichern muss? – user4826904

+0

Nein. Sie können Zeilenindex von Ihrem Adapter nach Gerätenummer – Sergey

+0

nehmen Eigentlich ist hier irgendwo, wo ich immer noch verwirrt bin. Sollte ich refreshConnectionState immer vom Anrufer aufrufen, der den Status geändert hat? Und wenn sich der Status dynamisch ändert, wie kann der Aufrufer diesen Zeilenindex immer kennen? – user4826904

Verwandte Themen