Скажите, что я хочу сделать свой собственный прослушиватель событий для своего класса, как это сделать? Нужно ли поддерживать поток вручную?Пользовательский прослушиватель событий для Android
ответ
public class CustomView extends View(){
OnCustomEventListener mListener;
:
://some code
:
:
Создать интерфейс, который будет реализован с помощью вашей деятельности:
public interface OnCustomEventListener {
void onEvent();
}
public void setCustomEventListener(OnCustomEventListener eventListener) {
mListener = eventListener;
}
Теперь вы должны знать, когда событие на самом деле происходит. Например, когда пользователь прикасается точку на экране, переопределить метод onTouchEvent:
onTouchEvent(MotionEvent ev) {
if (ev.getAction==MotionEvent.ACTION_DOWN) {
if(mListener!=null)
mListener.onEvent();
}
}
Кроме того, вы можете создать отдельное событие, которое вы хотите. (примеры могут касаться, ждать ровно 2 секунды и отпускать - вам нужно будет сделать некоторую логику внутри события касания).
В вашей деятельности, вы можете использовать объект customView установить EventListener как таковой:
customView.setCustomEventListener(new OnCustomEventListener() {
public void onEvent() {
//do whatever you want to do when the event is performed.
}
});
ли скобки на определении интерфейса OnCustomEventListener опечатка? –
Упс! да, это опечатка, исправила ее. спасибо – rDroid
rDroid, спасибо за пример! Должен ли интерфейс OnCustomEventListener быть объявлен внутри или вне класса CustomView? – Brabbeldas
Это может быть сделано следующим образом
Сначала создать класс интерфейса:
public interface OnStopTrackEventListener {
public void onStopTrack();
}
Затем создайте класс, который управляет интерфейсом:
public class Player {
private OnStopTrackEventListener mOnStopTrackEventListener;
public void setOnStopTrackEventListener(OnStopTrackEventListener eventListener)
{
mOnStopTrackEventListener = eventListener;
}
public void stop()
{
if(mOnStopTrackEventListener != null)
{
mOnStopTrackEventListener.onStopTrack();
}
}
}
Это все. Давайте использовать его сейчас
Player player = new Player();
player.stop(); //We are stopping music
player.setOnStopTrackEventListener(new OnStopTrackEventListener() {
@Override
public void onStopTrack() {
//Code to work when music stops
}
});
Красивый код. – Dskato
- 1. Пользовательский прослушиватель событий для Android не запускается
- 2. Пользовательский прослушиватель событий TypeScript
- 3. Пользовательский прослушиватель событий на Android-приложении
- 4. Пользовательский прослушиватель событий не работает
- 5. Пользовательский прослушиватель событий в C++
- 6. используя пользовательский прослушиватель событий java
- 7. Пользовательский прослушиватель Android для события
- 8. Android - прослушиватель событий
- 9. Android, прослушиватель событий?
- 10. Android: прослушиватель событий переполнения
- 11. Пользовательский прослушиватель Android
- 12. Android SoundPool прослушиватель событий конца?
- 13. Как создать пользовательский прослушиватель для переменной android?
- 14. Пользовательский прослушиватель Spinner в Android?
- 15. Javascript: Не могу получить этот пользовательский прослушиватель событий для работы
- 16. android.widget.Switch переключает прослушиватель событий?
- 17. Пользовательский прослушиватель
- 18. PhoneGap InAppBrowser прослушиватель событий слишком медленный (Android)
- 19. Пользовательский прослушиватель для ширины штриха
- 20. Пользовательский прослушиватель для составного компонента
- 21. Как реализовать прослушиватель событий в android
- 22. Добавить прослушиватель событий для всех переключателей
- 23. AsyncTask и пользовательский прослушиватель
- 24. Удалить прослушиватель событий ванили JS
- 25. Symfony добавить прослушиватель событий
- 26. Последовательный прослушиватель событий
- 27. PHP MYSQL прослушиватель событий
- 28. Пользовательский прослушиватель Android, порядок выполнения операций
- 29. прослушиватель событий супервизора
- 30. прослушиватель событий прерывания keybord
Смотрите тему CodePath [Создание пользовательских Слушателей] (https://guides.codepath.com/android/Creating-Custom-Listeners) – Suragch