Android中的责任链设计模式

责任链设计模式是一个面向对象的思想,是封装的思想。
Handler的 dispatchMessage msg.callback不为null时就交给 handleCallback(msg)去处理,mCallback 自身不为null时,就自己处理,要是为null就handleMessage(msg)处理。

public void dispatchMessage(@NonNull Message msg) {
        if (msg.callback != null) {
            handleCallback(msg);
        } else {
            if (mCallback != null) {
                if (mCallback.handleMessage(msg)) {
                    return;
                }
            }
            handleMessage(msg);
        }
    }

View中的dispatchTouchEvent 这里返回true就不会再调用onClick事件

    public boolean dispatchTouchEvent(MotionEvent event) {
 
            if (!result && onTouchEvent(event)) {
                result = true;
            }
        }
        return result;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容