Dire che voglio diventare il mio ascoltatore di eventi per la mia classe, come faccio? Devo mantenere un thread manualmente?Listener di eventi personalizzati Android
risposta
public class CustomView extends View(){
OnCustomEventListener mListener;
:
://some code
:
:
Creare un'interfaccia che sarà attuato con la vostra attività:
public interface OnCustomEventListener {
void onEvent();
}
public void setCustomEventListener(OnCustomEventListener eventListener) {
mListener = eventListener;
}
Ora è necessario sapere quando l'evento è in realtà avvenendo. Per esempio, quando l'utente tocca un punto sullo schermo, l'override metodo onTouchEvent:
onTouchEvent(MotionEvent ev) {
if (ev.getAction==MotionEvent.ACTION_DOWN) {
if(mListener!=null)
mListener.onEvent();
}
}
Allo stesso modo, è possibile creare un evento specifico che si desidera. (gli esempi potrebbero essere sfiorati, attendere esattamente 2 secondi e rilasciare- dovresti fare un po 'di logica nell'evento touch).
Nella vostra attività, è possibile utilizzare l'oggetto CustomView per impostare un EventListener in quanto tale:
customView.setCustomEventListener(new OnCustomEventListener() {
public void onEvent() {
//do whatever you want to do when the event is performed.
}
});
Sono le parentesi per la definizione dell'interfaccia OnCustomEventListener un errore di battitura? –
Oops! sì è un errore di battitura, corretto. grazie – rDroid
rDroid, grazie per l'esempio! L'interfaccia OnCustomEventListener deve essere dichiarata all'interno o all'esterno della classe CustomView? L'interfaccia – Brabbeldas
Può essere fatto nel modo seguente
Innanzitutto creare una classe di interfaccia:
public interface OnStopTrackEventListener {
public void onStopTrack();
}
Quindi creare la classe che controlla l'interfaccia:
public class Player {
private OnStopTrackEventListener mOnStopTrackEventListener;
public void setOnStopTrackEventListener(OnStopTrackEventListener eventListener)
{
mOnStopTrackEventListener = eventListener;
}
public void stop()
{
if(mOnStopTrackEventListener != null)
{
mOnStopTrackEventListener.onStopTrack();
}
}
}
Questo è tutto. Usiamo ora
Player player = new Player();
player.stop(); //We are stopping music
player.setOnStopTrackEventListener(new OnStopTrackEventListener() {
@Override
public void onStopTrack() {
//Code to work when music stops
}
});
Bellissimo codice. – Dskato
- 1. Listener di eventi personalizzati sull'app per Android
- 2. Listener di eventi personalizzati JavaScript
- 3. Symfony2 dispatcher di eventi personalizzati e listener
- 4. Eventi Java e listener di eventi
- 5. Listener di eventi Softkeyboard in Android
- 6. NHibernate listener di eventi
- 7. Symfony2 listener di eventi
- 8. refresh listener di eventi Javascript
- 9. View listener di eventi - Javascript
- 10. Listener di eventi in Java
- 11. performance listener di eventi Javascript
- 12. Listener di eventi Android per ciclo di vita dell'app
- 13. Attivatore di eventi personalizzati con nomi personalizzati
- 14. come applicare il listener di eventi click all'immagine in Android
- 15. PhoneGap Listener di eventi InAppBrowser troppo lento (Android)
- 16. window.open listener di eventi che non funzionano in Android 4.4.2
- 17. Implementare più listener di eventi nello stesso frammento - Android
- 18. Analitica di Firebase Android Segnalazione di eventi personalizzati nella console
- 19. swing: classe di supporto listener di eventi
- 20. C# gestori di eventi personalizzati
- 21. Domanda sugli eventi personalizzati
- 22. Eventi personalizzati per UIView
- 23. Eventi personalizzati Backbone
- 24. Eventi personalizzati in Magento
- 25. ExtJS Grid - Clicca listener di eventi
- 26. dattiloscritto - mantenere portata in listener di eventi
- 27. OpenLayers 3: Rimuovere listener di eventi
- 28. JavaScript listener di eventi per SVG trasformare
- 29. Listener di eventi router angolare 2
- 30. Come aggiungere obliquo $ http listener di eventi
vedere l'argomento percorsi di codice [Creazione di listener personalizzati] (https://guides.codepath.com/android/Creating-Custom-Listeners) – Suragch