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


Oyente vs manejador en android

¿Cuál es la diferencia entre un oyente y un manejador?

He buscado mucho, pero no pude encontrar una explicación adecuada. ¿Dónde uso un oyente y dónde uso un controlador en Android?

He pasado por el siguiente enlace también:

¿El manejador de eventos, el receptor de eventos y el registro de eventos se refieren todos a lo mismo?

¿Dónde puedo obtener una discusión comparativa de estos dos ítems? Además, ¿puede alguien decirme cuáles son los diferentes tipos de oyentes y manejadores disponibles?

  • ¿Quite los bordes redondeados de un Seekbar personalizado?
  • Android ViewPager con páginas anteriores y siguientes visibles?
  • Usando SeekBar para controlar el volumen en android?
  • 2 Solutions collect form web for “Oyente vs manejador en android”

    Un número de clases de ActionScript tiene algo llamado eventos. Un evento se plantea cuando ocurre una ocurrencia determinada. Por ejemplo, cuando alguien se cierne sobre un símbolo de botón en un SWF, el evento Button.onRollOver se eleva para esa instancia de botón en particular. Cuando se mueve el mouse en otro lugar, se genera el evento Button.onRollOut para esa misma instancia. Estos eventos tienen lugar independientemente de si alguien se da cuenta. Si desea realmente hacer algo en respuesta a un evento, debe administrarlo con un controlador de eventos o un detector de eventos. La elección entre estos dos es determinada por el objeto – algunos objetos esperan que los manejadores, algunos oyentes – así que golpeó la referencia del lenguaje de ActionScript en caso de duda. Los manejadores son relativamente fáciles, pero por alguna razón, los oyentes parecen perplejos al principio.

    Controladores de eventos

    Los eventos más populares probablemente pertenecen a las clases Button y MovieClip, que comparten muchas de las mismas (un clip de película puede ser un botón, pero no al revés). Para manejar el evento Button.onRelease, todo lo que tiene que hacer es arrastrar un símbolo de botón al escenario y darle un nombre de instancia a través del inspector de propiedades. Utilice este nombre en una secuencia de comandos de marco para asignar una función al evento.

    myButton.onRelease = function() { // do something } 

    Los otros eventos Button funcionan de la misma manera, al igual que los eventos MovieClip y todos los eventos que requieren manejadores de eventos.

    Cualquier número de eventos puede ser manejado. Sólo asigne una función a cada evento, según sea necesario. Un botón que responde a un rollo, liberación y despliegue, por ejemplo, podría tener este aspecto …

     myButton.onRollOver = function() { // do something } myButton.onRelease = function() { // do something } myButton.onRollOut = function() { // do something } 

    Oyentes del evento

    La gestión de los oyentes de eventos requiere unos pocos pasos más. Un oyente se logra con una instancia de objeto genérico. Este objeto actúa como enlace entre al menos otros dos: el objeto que eleva el evento, y cualquier objeto que escuche el evento. Veamos un ejemplo de MovieClipLoader.

     var mcl:MovieClipLoader = new MovieClipLoader(); 

    En este punto, hemos declarado una variable, mcl, que apunta a una instancia de MovieClipLoader. Ahora declararemos otra variable, mclListener, que señala una instancia de Object. (Suena gracioso, lo sé, pero estamos creando un objeto Object.)

     var mclListener:Object = new Object(); 

    Este objeto genérico será ahora nuestro enlace. En este punto, el código se ve muy similar al enfoque de controlador de eventos.

     mclListener.onLoadInit = function() { // do something } 

    Podría haber escogido cualquier evento de la clase MovieClipLoader, realmente no importa. La cosa a notar aquí es que un objeto genérico está manejando el acontecimiento en nombre de la instancia de clase operativa. Con los controladores de eventos, la instancia de clase operativa maneja sus propios eventos.

    Ahora que tenemos nuestro listener, y ahora que una función ha sido asignada a uno de sus eventos en nombre de nuestra instancia de MovieClipLoader, simplemente necesitamos suscribir el listener a mcl.

     mcl.addListener(mclListener); 

    Hecho. Veamos que todo en una toma:

     var mcl:MovieClipLoader = new MovieClipLoader(); var mclListener:Object = new Object(); mclListener.onLoadInit = function() { // do something } mcl.addListener(mclListener); 

    Para escuchar más de un evento, simplemente siga el ejemplo con el enfoque del manejador de eventos.

     var mcl:MovieClipLoader = new MovieClipLoader(); var mclListener:Object = new Object(); mclListener.onLoadStart = function() { // do something } mclListener.onLoadProgress = function() { // do something } mclListener.onLoadInit = function() { // do something } mcl.addListener(mclListener); 

    Ref: http://www.quip.net/blog/2006/flash/event-handlers-listeners

    También puede comprobar esta respuesta yahoo

    La diferencia básica es que los manejadores de eventos permiten que el objeto de origen haga algo en respuesta al evento, mientras que los oyentes de eventos permiten que otros objetos hagan algo en respuesta a los eventos que se originan en el objeto.

    Por ejemplo: su actividad tiene un botón. Si desea que su actividad se controle cuando alguien toca el botón, utiliza un detector de eventos (haciendo btn.setOnTouchListener (…)). PERO, si desea crear un botón especializado (por ejemplo, uno que se parece a un perro y ladra cuando se toca), puede crear una subclase de Button e implementar su controlador de eventos, onTouchEvent (…). En este último caso, el propio botón controlará su evento táctil.

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