NewInstance3
2016-01-25 03:34
采纳率: 33.3%
浏览 17.0k

Android 的TextView的点击事件如何去除

在xml中设置TextView的clickable=false,之后判断条件比如state = 0设置TextView的onclick事件,
这时候TextView就可以点击了,但是点击之后进行操作请求网络state变为1,这时候TextView就不可以
点击了,但是再设置clickable=false不管用,还是可以点击,之后加入focuseable = false
也没用,怎么让它不可点击呢?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • qq_28077303 2016-01-25 03:43
    已采纳

    public void setOnClickListener(OnClickListener l) {
    if (!isClickable()) {
    setClickable(true);
    }
    getListenerInfo().mOnClickListener = l;
    }
    这是因为你注册了onClick事件, clickable后面不管你怎么设置应该都没效,因为OnClickListener始终存在,建议调用setOnClickListener(null);试试

    已采纳该答案
    打赏 评论
  • 花京院 2016-01-26 07:39

    public boolean dispatchTouchEvent(MotionEvent event) {
    if (!onFilterTouchEventForSecurity(event)) {
    return false;
    }

    if (mOnTouchListener != null && (mViewFlags & ENABLED_MASK) == ENABLED && 
            mOnTouchListener.onTouch(this, event)) { 
        return true; 
    } 
    return onTouchEvent(event); 
    

    }
    根据源码.设置了enable为false则监听不执行.这样可以随时控制监听.比setOnClickListener(null)要好.

    打赏 评论
  • qq_小倩的C博客 2016-01-28 03:07
    txt.setEnabled(false);
    
    打赏 评论
  • cyxevil 2016-04-01 06:27

    xml里写android:clickable="true"

    打赏 评论
  • qq_27578023 2016-06-09 12:32

    public void setOnClickListener(OnClickListener l) {
    if (!isClickable()) {
    setClickable(true);
    }
    getListenerInfo().mOnClickListener = l;
    }
    这是因为你注册了onClick事件, clickable后面不管你怎么设置应该都没效,因为OnClickListener始终存在,建议调用setOnClickListener(null);试试

    打赏 评论

相关推荐 更多相似问题