148 votes

Comment créer notre propre interface d'écoute dans Android ?

Quelqu'un pourrait-il m'aider à créer une interface d'écoute définie par l'utilisateur avec des extraits de code ?

211voto

Rakesh Soni Points 913

Créer un nouveau fichier :

MyListener.java :

public interface MyListener {
    // you can define any parameter as per your requirement
    public void callback(View view, String result);
}

Dans votre activité, implémentez l'interface :

MyActivity.java :

public class MyActivity extends Activity implements MyListener {
   @override        
   public void onCreate(){
        MyButton m = new MyButton(this);
   }

    // method is invoked when MyButton is clicked
    @override
    public void callback(View view, String result) {   
        // do your stuff here
    }
}

Dans votre classe personnalisée, invoquez l'interface si nécessaire :

MyButton.java :

public class MyButton {
    MyListener ml;

    // constructor
    MyButton(MyListener ml) {
        //Setting the listener
        this.ml = ml;
    }

    public void MyLogicToIntimateOthers() {
        //Invoke the interface
        ml.callback(this, "success");
    }
}

118voto

Rupesh Points 425

veuillez lire le modèle d'observateur

interface d'écoute

public interface OnEventListener {
    void onEvent(EventResult er);
    // or void onEvent(); as per your need
}

puis dans votre classe, dites Event classe

public class Event {
    private OnEventListener mOnEventListener;

    public void setOnEventListener(OnEventListener listener) {
        mOnEventListener = listener;
    }

    public void doEvent() {
        /*
         * code code code
         */

         // and in the end

         if (mOnEventListener != null)
             mOnEventListener.onEvent(eventResult); // event result object :)
    }
}

dans votre classe de chauffeur MyTestDriver

public class MyTestDriver {
    public static void main(String[] args) {
        Event e = new Event();
        e.setOnEventListener(new OnEventListener() {
             public void onEvent(EventResult er) {
                 // do your work. 
             }
        });
        e.doEvent();
    }
}

7voto

Kapil Vij Points 111

Créez une interface d'écoute.

public interface YourCustomListener
{
    public void onCustomClick(View view);
            // pass view as argument or whatever you want.
}

Et créez la méthode setOnCustomClick dans une autre activité(ou fragment) , où vous souhaitez appliquer votre écouteur personnalisé......

  public void setCustomClickListener(YourCustomListener yourCustomListener)
{
    this.yourCustomListener= yourCustomListener;
}

Appelez cette méthode à partir de votre première activité, et passez l'interface d'écoute...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X