Heim > Java > javaLernprogramm > Wie stelle ich eine Kommunikation zwischen einem Fragment und seinem CursorAdapter her?

Wie stelle ich eine Kommunikation zwischen einem Fragment und seinem CursorAdapter her?

Patricia Arquette
Freigeben: 2024-11-12 22:10:02
Original
984 Leute haben es durchsucht

How to Establish Communication Between a Fragment and its CursorAdapter?

Erstellen einer Schnittstelle zwischen Fragment und Adapter

Beim Umgang mit einem Fragment, das eine ListView und einen benutzerdefinierten CursorAdapter enthält, ist die Herstellung der Kommunikation zwischen ihnen von entscheidender Bedeutung . Um dies zu erreichen, können Schnittstellen eine saubere und effiziente Lösung bieten.

Schnittstellendefinition

Definieren Sie in der Adapterklasse eine Schnittstelle, die die Methode definiert, die aufgerufen werden soll, wenn die Taste gedrückt wird. Zum Beispiel:

public interface AdapterInterface {
    public void buttonPressed();
}
Nach dem Login kopieren

Adapterimplementierung

Fügen Sie dem Adapter einen Konstruktor hinzu, der eine Instanzvariable für die Schnittstelle initialisiert:

public MyListAdapter(Context context, Cursor c, int flags, AdapterInterface buttonListener) {
    super(context, c, flags);
    this.buttonListener = buttonListener;
}
Nach dem Login kopieren

Rufen Sie in der bindView()-Methode beim Klicken auf die Schaltfläche die buttonPressed()-Methode auf Schnittstelle:

@Override
public void bindView(...) {
    ...
    holder.button.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            buttonListener.buttonPressed();
        }
    });
}
Nach dem Login kopieren

Fragment-Implementierung

Implementieren Sie das AdapterInterface in der Fragment-Klasse und überschreiben Sie die buttonPressed()-Methode:

public class MyListFragment extends Fragment implements AdapterInterface {

    @Override
    public void buttonPressed() {
        // Custom action to be performed
    }
}
Nach dem Login kopieren

Initialisierung

Übergeben Sie beim Erstellen des Adapters das Fragment als Argument an der Konstruktor:

MyListAdapter adapter = new MyListAdapter(getActivity(), myCursor, myFlags, this);
Nach dem Login kopieren

Hinweise

  • Stellen Sie sicher, dass der Adapter auch neu erstellt wird, wenn das Fragment neu erstellt wird, um zu vermeiden, dass auf nicht vorhandene Objekte verwiesen wird.
  • Dieser Ansatz bietet eine saubere und organisierte Möglichkeit, die Kommunikation zwischen Adapter und Fragment abzuwickeln.

Das obige ist der detaillierte Inhalt vonWie stelle ich eine Kommunikation zwischen einem Fragment und seinem CursorAdapter her?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage