Android自定义事件监听器

发布于 2021-01-29 19:57:28

假设我想为自己的班级创建自己的事件监听器,该怎么做?我需要手动维护线程吗?

关注者
0
被浏览
806
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。
    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秒钟然后松开-您需要在touch事件中执行一些逻辑操作)。

    在您的活动中,可以使用customView对象将eventListener设置为:

     customView.setCustomEventListener(new OnCustomEventListener() {
        public void onEvent() {
            //do whatever you want to do when the event is performed.
        }
     });   
    


推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看