Maison >Java >javaDidacticiel >Comment établir une communication entre un fragment et son CursorAdapter ?

Comment établir une communication entre un fragment et son CursorAdapter ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-12 22:10:021016parcourir

How to Establish Communication Between a Fragment and its CursorAdapter?

Création d'une interface entre un fragment et un adaptateur

Lorsque vous traitez un fragment contenant un ListView et un CursorAdapter personnalisé, établir une communication entre eux devient crucial . Pour y parvenir, les interfaces peuvent fournir une solution propre et efficace.

Définition de l'interface

Dans la classe adaptateur, définissez une interface qui définit la méthode à appeler lorsque le le bouton est enfoncé. Par exemple :

public interface AdapterInterface {
    public void buttonPressed();
}

Implémentation de l'adaptateur

Ajouter un constructeur à l'adaptateur qui initialise une variable d'instance pour l'interface :

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

Dans la méthode bindView(), lorsque le bouton est cliqué, appelez la méthode buttonPressed() sur le interface :

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

Implémentation de fragment

Implémentez l'AdapterInterface dans la classe fragment et remplacez la méthode buttonPressed() :

public class MyListFragment extends Fragment implements AdapterInterface {

    @Override
    public void buttonPressed() {
        // Custom action to be performed
    }
}

Initialisation

Lors de la création de l'adaptateur, transmettez le fragment en argument à le constructeur :

MyListAdapter adapter = new MyListAdapter(getActivity(), myCursor, myFlags, this);

Notes

  • Assurez-vous que l'adaptateur est également recréé lorsque le fragment est recréé pour éviter de référencer des objets inexistants.
  • Cette approche fournit un moyen propre et organisé de gérer la communication entre l'adaptateur et le fragment.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn