/ / OnClickListener in Listview mit einem CursorAdapter - Android, listactivity gefüllt

OnClickListener in Listview mit einem CursorAdapter - Android, listactivity gefüllt

Ich habe eine Listenansicht mit 2 Schaltflächen in jeder Zeile. Ich verwende einen Cursoradpater, um die Liste zu füllen.

Ich verwende auch das Ansichtshalter-Muster auf newview () bindview ().

Meine Fragen sind: Wo setze ich die Click-Listener für die Buttons mit der Gewissheit, dass sich die Aktion für den Button von der Aktion des Listen-Items selbst unterscheidet? Behalte ich den onListItemClick?

Antworten:

1 für die Antwort № 1

Du brauchst das nicht onListItemClick

Sie können versuchen, für jede Ihrer Schaltflächen ein Ereignis im Adapter zu binden

final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});

Aber wahrscheinlich wird dies nicht auf dem Listenelement funktionieren, also brauchen Sie einen neuen Ansatz, wie dies in der Schaltfläche Dokumentation.

Anstatt jedoch einen OnClickListener auf die Schaltfläche in Ihrer Aktivität anzuwenden, können Sie Ihrer Schaltfläche im XML-Layout eine Methode zuweisen, indem Sie das Attribut android: onClick verwenden. Beispielsweise:

<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct"
android:onClick="selfDestruct" />

Wenn ein Benutzer nun auf die Schaltfläche klickt, wird das Android angezeigtSystem ruft die Methode selfDestruct (View) der Aktivität auf. Damit dies funktioniert, muss die Methode public sein und eine View als einzigen Parameter akzeptieren. Beispiel:

 public void selfDestruct(View view) {
// Kabloey
}

Die an die Methode übergebene Ansicht ist eine Referenz auf das Widget, auf das geklickt wurde.