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;
    }

你可能感兴趣的:(Android中的责任链设计模式)