NewInstance3 2016-01-25 03:34 采纳率: 33.3%
浏览 17415
已采纳

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);试试

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • qq_小倩的C博客 2016-01-28 03:07
    关注
    txt.setEnabled(false);
    
    评论
  • 花京院 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)要好.

    评论
  • 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);试试

    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 回答几个问题 关于数据库
  • ¥15 设计程序(标签-STM32|关键词-工作模式)
  • ¥15 51单片机串口通信问题,未完成且要修改
  • ¥15 百鸡问题 c++编程问题(相关搜索:输出数据)
  • ¥30 如何在CMD中设置代理
  • ¥15 我有一块薛定谔的硬盘
  • ¥15 微信小游戏开发2D碰撞检测问题
  • ¥30 MapReduce案例实践(实验过程需要截图加文字)
  • ¥30 链表、二叉树的应用和算法设计
  • ¥15 R语言批量修改csv文件中的某一列