


Wie kommuniziere ich zwischen einem Fragment und seinem Adapter mithilfe eines ereignisgesteuerten Schaltflächenklicks?
Nov 19, 2024 am 10:09 AMSchnittstelle zwischen Fragment und Adapter durch ereignisgesteuerte Schaltflächenklicks
Um Ereignisse zwischen einem Fragment und dem zugehörigen Adapter zu kommunizieren, kann man eine Schnittstelle implementieren innerhalb der Adapter-Klasse. In diesem Szenario enthält ein Fragment namens MyListFragment eine ListView, die einen angepassten CursorAdapter verwendet. Beim Klicken auf die Schaltfläche in der Listenzeile muss eine Benachrichtigung an das Fragment gesendet werden.
Die Lösung besteht darin, eine Schnittstelle innerhalb der Adapter-Klasse zu erstellen:
public class MyListAdapter extends CursorAdapter { public interface AdapterInterface { void buttonPressed(); } ... }
Innerhalb der Fragment-Klasse ( MyListFragment), implementieren Sie das AdapterInterface:
public class MyListFragment extends Fragment implements AdapterInterface { @Override public void buttonPressed() { // Some action } }
Um den Adapter und das Fragment zu binden, ändern Sie den Adapter Klasse:
public class MyListAdapter extends CursorAdapter { private AdapterInterface buttonListener; public MyListAdapter(Context context, Cursor c, int flags, AdapterInterface buttonListener) { super(context, c, flags); this.buttonListener = buttonListener; } ... }
Definieren Sie innerhalb der bindView-Methode des Adapters das Schaltflächenklickverhalten:
@Override public void bindView(View view, Context context, Cursor cursor) { ... holder.button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { buttonListener.buttonPressed(); } }); }
Übergeben Sie beim Erstellen des Adapters das Fragment als Argument:
MyListAdapter adapter = new MyListAdapter(getActivity(), myCursor, myFlags, this);
Dieser Mechanismus stellt sicher, dass das Fragment beim Klicken auf die Schaltfläche die Benachrichtigung über die implementierte Schnittstelle erhält.
Das obige ist der detaillierte Inhalt vonWie kommuniziere ich zwischen einem Fragment und seinem Adapter mithilfe eines ereignisgesteuerten Schaltflächenklicks?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Top 4 JavaScript -Frameworks in 2025: React, Angular, Vue, Svelte

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?

Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?

Node.js 20: wichtige Leistungssteigerung und neue Funktionen

ICEBERG: Die Zukunft von Data Lake Tabellen

Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?

So teilen Sie Daten zwischen Schritten in der Gurke

Wie kann ich funktionale Programmierungstechniken in Java implementieren?
