listview里面item有button的,button要设置 android:focusable="false" ,listview里面如果设置了 onitemlongclick事件,那么onitemclick事件就不响应,我们只需要在onitemlongclick中返回true就可以解决问题了
// 显示长按删除按钮
listView.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// 循环隐藏之前显示的按钮
if (btn_del_list != null && btn_del_list.size() > 0) {
for (int i = 0; i < btn_del_list.size(); i++) {
if (i != arg2) {
btn_del_list.get(i).setVisibility(View.GONE);
}
}
}
//当前的这个显示
Button btn = (Button) arg1.findViewById(R.id.btn_del);
btn.setVisibility(View.VISIBLE);
return true;
}
});
本文介绍了解决Android ListView中item的点击事件与长按事件冲突的问题,通过设置按钮的焦点属性及调整OnItemLongClickListener的方法返回值,确保长按事件触发时不影响点击事件的正常响应。
167

被折叠的 条评论
为什么被折叠?



