listview 的onitemlongclick阿和onitemclick冲突,item中还有button的点击事件

时间:2022-05-06 16:27:52

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;

}
});