与其说onListItemClick不能响应,不如说View不能获取到焦点。
如果使用了自定义的Adapter,并且View中含有控件(自动获取焦点的控件),那么控件会优先获取点击事件(这和win VC中控件优先获取键盘事件类似),这样你的点击事件会传送给控件的事件响应函数而不是onListItemClick,也就不能够响应。
于是解决办法就是让控件不得到焦点就OK了
解决办法:在我们的代码的合适位置添加下面的代码(使用自己定义的控件)(如果很多控件,最好每一个都设置一下)
CheckBox solvedChecked = (CheckBox)convertView.findViewById(R.id.checkBox1);
solvedChecked.setFocusable(false);
solvedChecked.setFocusableInTouchMode(false);
本文探讨了在使用自定义Adapter时,onListItemClick无法正常响应的问题。原因是控件自动获取焦点导致点击事件被拦截。文章提供了解决方案,通过设置控件不可获取焦点来确保点击事件能够正确传递。
4130

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



