美文网首页
Android设置setClickable为false无效

Android设置setClickable为false无效

作者: 用生命在折腾 | 来源:发表于2018-04-19 18:03 被阅读62次

    在项目开发过程中,设置了点击事件并设置了setClickable为false,控件仍可以点击,原因如下:

    /**
         * Register a callback to be invoked when this view is clicked. If this view is not
         * clickable, it becomes clickable.
         *
         * @param l The callback that will run
         *
         * @see #setClickable(boolean)
         */
        public void setOnClickListener(@Nullable OnClickListener l) {
            if (!isClickable()) {
                setClickable(true);
            }
            getListenerInfo().mOnClickListener = l;
        }
    

    View源码的setOnClickListener中,如果控件不可点击会将控件改变状态为setClickable(true)。
    解决办法:setClickable放在setOnClickListener方法之后即可。

    相关文章

      网友评论

          本文标题:Android设置setClickable为false无效

          本文链接:https://www.haomeiwen.com/subject/btfgkftx.html