所有的按钮onClickListener监听失效是因为:setOnTouchListener是监控从点下鼠标 (可能拖动鼠标)到放开鼠标(鼠标可以换成手指)的整个过程 ,他的回调函数是onTouchEvent(MotionEvent event),然后通过判断event.getAction()是MotionEvent.ACTION_UP还是ACTION_DOWN还是ACTION_MOVE分别作不同行为。setOnClickListener的监控时间只监控到手指ACTION_DOWN时发生的行为。
解决方法:
1、可以不用setOnClickListener这个监听,将该监听的内容放在onTouchEvent的ACTION_DOWN来处理。
2、加信号量的方法,就是加变量来控制有些代码在什么时候能走到,什么时候走不到。
典型的if/switch语句。
代码发上来 看看
代码new Button.OnClickListener()
改为 new OnClickListener()
new Button.OnClickListener()
改成new View.OnClickListener()试试
你看你在清单文件里面注册了activity没?