android - studio - comunicar activity con fragment
Cómo implementar un oyente (2)
Tengo un problema de diseño. Necesito implementar un oyente. Vi la siguiente pregunta: ¿Cómo crear nuestra propia interfaz de escucha en Android?
Pero en el enlace que proporciona en la respuesta, el autor crea un oyente que simplemente amplía el oyente definido por el sistema. Por ejemplo, onClick, harías una validación y luego llamarías a otro método llamado "whenValidatedListener"
Necesito definir oyentes que no estén vinculados a los oyentes de eventos existentes. Básicamente, habría algún procesamiento en el código nativo (C / C ++) y en el código de Android Necesito un oyente para responder a ciertos mensajes.
Creo que podría hacer esto usando controladores. Pero AsyncTask es el enfoque recomendado para multihilo.
¿Hay alguna manera de implementar un oyente definido por el usuario usando AsyncTask?
AsyncTask no tiene nada que ver con la implementación de un oyente.
Aquí hay un oyente:
public interface TheListener {
public void somethingHappened();
}
Llámalo como quieras. Por ejemplo, aquí hay una clase que hace algo como Ver:
public class Something {
private TheListener mTheListener;
public void setTheListener(TheListener listen) {
mTheListener = listen;
}
private void reportSomethingChanged() {
if (mTheListener != null) {
mTheListener.somethingHappened();
}
}
}
Puedes hacer esto tan complicado como quieras. Por ejemplo, en lugar de un único puntero de escucha, podría tener una ArrayList para permitir el registro de múltiples oyentes.
Llamar esto desde código nativo tampoco tiene nada que ver con la implementación de una interfaz de escucha. Solo necesita aprender sobre JNI para aprender cómo el código nativo puede interactuar con el código de lenguaje Java.
Para aclarar las cosas: haces exactamente lo que dijo hackbod y agregas esto: la actividad que encierra a la clase (con el método setListener (Listener listen)) implementa Listener y en oncreate o onResume o donde sea que llames a yourClass.setListener ( esta).