說我想使自己的事件偵聽器,我的課,我該怎麼做呢?我是否需要手動維護線程?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對象設置一個事件監聽這樣:
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. 事件監聽器和自定義事件的ExtJS
- 3. Android按鈕的自定義監聽器
- 4. Android自定義列表視圖事件監聽器
- 5. Actionscript3正在監聽自定義事件
- 6. Android - 事件監聽器
- 7. Android EditText事件監聽器
- 8. Android,事件監聽器?
- 9. Android AudioManager事件監聽器?
- 10. 將jQuery函數綁定到自定義事件監聽器
- 11. C++中的自定義事件監聽器
- 12. VBA自定義事件的多個監聽器
- 13. 在Android的另一個監聽器中定義監聽器
- 14. 事件監聽器?
- 15. 自定義事件監聽器不工作
- 16. 瞭解JavaScript自定義事件監聽器
- 17. 使用自定義事件監聽器java
- 18. 的Android onTouch監聽事件
- 19. Laravel監聽器監聽多個事件
- 20. Android中的Softkeyboard事件監聽器
- 21. 音頻的Android事件監聽器
- 22. Symfony2的事件監聽器
- 23. symfony的事件監聽器
- 24. window.fetch的事件監聽器
- 25. Symfony的事件監聽器
- 26. Symfony2重定向的事件監聽器?
- 27. 如何在Android中定義自定義事件和事件偵聽器?
- 28. Cordova Android:如何在Javascript中監聽自定義事件?與Cordova Android的
- 29. TypeScript自定義事件偵聽器
- 30. 設置自定義事件偵聽器
查看代碼路徑的話題[創建自定義監聽器(https://guides.codepath.com/android/Creating-Custom-Listeners) – Suragch