Digamos que quiero hacer mi propio oyente de eventos para mi clase, ¿cómo puedo hacer eso? ¿Debo mantener un hilo manualmente?Oyente de eventos personalizados de Android
Respuesta
public class CustomView extends View(){
OnCustomEventListener mListener;
:
://some code
:
:
crear una interfaz que será ejecutado por su actividad:
public interface OnCustomEventListener {
void onEvent();
}
public void setCustomEventListener(OnCustomEventListener eventListener) {
mListener = eventListener;
}
Ahora lo que necesita saber cuando el evento está ocurriendo en realidad. Por ejemplo, cuando el usuario toca un punto en la pantalla, reemplazar el método onTouchEvent:
onTouchEvent(MotionEvent ev) {
if (ev.getAction==MotionEvent.ACTION_DOWN) {
if(mListener!=null)
mListener.onEvent();
}
}
Del mismo modo, se puede crear un evento específico que desea. (Los ejemplos podrían tocarse hacia abajo, esperar exactamente 2 segundos y soltar, necesitaría hacer algo de lógica dentro del evento táctil).
En su actividad, puede utilizar el objeto CustomView para establecer un eventListener como tal:
customView.setCustomEventListener(new OnCustomEventListener() {
public void onEvent() {
//do whatever you want to do when the event is performed.
}
});
son los paréntesis en la definición de la interfaz OnCustomEventListener un error tipográfico? –
¡Uy! sí, es un error tipográfico, lo corrigió. gracias – rDroid
rDroid, gracias por el ejemplo! ¿Debería declararse la interfaz OnCustomEventListener dentro o fuera de la clase CustomView? – Brabbeldas
Se puede hacer de la siguiente manera
En primer lugar crear una clase de interfaz:
public interface OnStopTrackEventListener {
public void onStopTrack();
}
A continuación, cree la clase que controla la interfaz:
public class Player {
private OnStopTrackEventListener mOnStopTrackEventListener;
public void setOnStopTrackEventListener(OnStopTrackEventListener eventListener)
{
mOnStopTrackEventListener = eventListener;
}
public void stop()
{
if(mOnStopTrackEventListener != null)
{
mOnStopTrackEventListener.onStopTrack();
}
}
}
Eso es todo. Vamos a usar ahora
Player player = new Player();
player.stop(); //We are stopping music
player.setOnStopTrackEventListener(new OnStopTrackEventListener() {
@Override
public void onStopTrack() {
//Code to work when music stops
}
});
Hermoso código. – Dskato
- 1. Oyente para widget de ViewFlipper voltear eventos
- 2. Oyente de red Android
- 3. C# controladores de eventos personalizados
- 4. Eventos personalizados en Magento
- 5. Pregunta sobre eventos personalizados
- 6. ¿Cómo crear eventos personalizados?
- 7. escuchando múltiples eventos con un solo oyente?
- 8. Oyente HTML5 EventSource para todos los eventos?
- 9. JavaScript: ¿elimina un detector de eventos de ese oyente?
- 10. Oyente de Internet Ejemplo de Android
- 11. FullCalendar: ¿Cómo dejar de arrastrar eventos personalizados?
- 12. Despacho de eventos personalizados con Dojo framework
- 13. de ignición y capturar eventos personalizados
- 14. Winforms controles de usuario eventos personalizados
- 15. Parada del oyente en Android
- 16. Android, oyente Checkbox en XML?
- 17. Oyente para Fin de llamada en Android
- 18. cómo aplicar click oyente de eventos a la imagen en android
- 19. ¿Se pueden realizar eventos personalizados con UIControlEventApplicationReserved?
- 20. oyente de modo de ahorro de energía de Android?
- 21. ¿Cómo manejar eventos jQuery personalizados en Meteor?
- 22. Cómo usar jQuery ¿Diferido con eventos personalizados?
- 23. Eventos personalizados en Node.js con Express framework
- 24. Levantar eventos personalizados en C# WinForms
- 25. jQuery: ¿Cómo uso event.preventDefault() con eventos personalizados?
- 26. Cómo rastrear eventos personalizados en paper_trail?
- 27. OnClick oyente a una imagen ListView - Android
- 28. Atributos personalizados en Android
- 29. Android ExpandableListView oyente de clic de grupo largo prevenir expand
- 30. jQuery datos de eventos personalizados (suscribir y desencadenar)
vea el tema codepath [Creación de oyentes personalizados] (https://guides.codepath.com/android/Creating-Custom-Listeners) – Suragch