2 ezreal327 ezreal327 于 2016.01.25 11:34 提问

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

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

5个回答

qq_28077303
qq_28077303   2016.01.25 11:43
已采纳

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

jestar719
jestar719   2016.01.26 15: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_30426503
qq_30426503   2016.01.28 11:07
txt.setEnabled(false);
cyxevil
cyxevil   2016.04.01 14:27

xml里写android:clickable="true"

qq_27578023
qq_27578023   2016.06.09 20:32

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!