Quelqu'un pourrait-il m'aider à créer une interface d'écoute définie par l'utilisateur avec des extraits de code ?
Réponses
Trop de publicités?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");
}
}
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();
}
}
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...