Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo implementar un escucha

Tengo un problema de diseño. Necesito implementar un oyente. Vi la siguiente pregunta SO: ¿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 sólo extiende el oyente definido por el sistema. Por ejemplo, onClick, haría alguna validación y luego llamaría a otro método llamado "whenValidatedListener"

Necesito definir oyentes que no estén vinculados a los oyentes de eventos existentes. Básicamente habrá algún procesamiento en curso en código nativo (C / C ++) y en el código de Android necesito un oyente para responder a ciertos mensajes de él.

Creo que podría hacer esto usando manejadores. Pero AsyncTask es el enfoque recomendado para multithreading.

¿Hay alguna manera de implementar un listener definido por el usuario usando AsyncTask?

2 Solutions collect form web for “Cómo implementar un escucha”

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 que varios oyentes se registren.

Llamar a esto desde el código nativo tampoco tiene nada que ver con la implementación de una interfaz de escucha. Sólo necesita aprender acerca de JNI para aprender cómo el código nativo puede interactuar con el código de lenguaje Java.

Sólo para aclarar las cosas: usted hace exactamente lo que hackbod dijo y agregue esto: la actividad que encierra la clase (con el método setListener (Listener listen)) implementa Listener y en it's oncreate o onResume o dondequiera que llame a yourClass.setListener esta).

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.