Android listview的item点击事件怎么失效了

Android listview的item点击事件怎么失效了,第1张

要看你怎么设置监听的,如果设置了listview.setOnItemClickListener的话,好像会使里面每个item的子控件的监听失效。一般我是在adpter里面设置监听的,而不是在外面设置监听

在安卓开发过程中,listview的item很容易引起touch混乱的问题。常见的原因有下面这些:

item为自定义view,在自定义view中重写了Touch的相关方法,导致了touch传递问题;

item中包含有像button这种天生抢占焦点的控件,导致了focus焦点的变化,从而影响click事件

可以打断点或log,查看touch的传递情况,根据实际情况进行解决。

Android中View的点击事件如果没有触发,那肯定是代码写的有问题,onClick事件有四种写法:

1.匿名内部类:

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

//点击后执行

}

})

2.自定义单击事件监听类:

class MyClickListener implements OnClickListener {

@Override

public void onClick(View v) {

//点击后执行

}

}

3.Activity直接实现View.OnClickListener的onClick方法

@Override

public void onClick(View v) {

//点击后执行

}

4.在XML文件中显示指定按钮的onClick属性,这样点击按钮时会利用反射的方式调用对应Activity中的click()方法:

android:onClick="onClick"

public void onClick(View v) {

//点击后执行

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11582212.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存