美文网首页
Android-配置文件中设置“android:clickabl

Android-配置文件中设置“android:clickabl

作者: 因为我的心 | 来源:发表于2021-08-03 20:26 被阅读0次

    一、前言:

    1、开发中遇到的问题:要实现一个button初始为不可点击,于是在配置文件中设置了android:clickable="false"运行后发现还是可以点击,于是写在了Activity中:btn.setClickable(false);发现还是可以点击。

    下面是onClick的源码:

     /**
         * 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;
        }
    
    2、解决:

    查看android setClickable源码 ,发现在源码的setOnClickListener事件会重写 事件会去重写View v,也就是会把setClickable设为true!

    1、按扭的setOnClickListener事件之后,再设置btn.setClickable(false);
    2、这样首次点击事件就没有效果了,如下方设置;

    btn.setOnClickListener(this);
    //设置两按扭为不可点击
    btn.setClickable(false);
    

    相关文章

      网友评论

          本文标题:Android-配置文件中设置“android:clickabl

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