最近遇到的两个listview焦点问题
1. 如果listView中的item含有button、togglebutton等有状态变化的控件,则onItemClick失效。
原因是焦点被这些子控件抢夺了,listview这个viewgroup无法接受到点击事件。
解决方案:
换一个方式设置监听器:
不要给listview设置onItemClick监听器,
在adapter的getview时,给item view的根设置监听器。
调用根view的setOnClickListener()方法。
2. listview中的edittext无法输入文字。
这个同样是焦点问题。
没有直接的解决方案:
网上的方案都不好用。
解决方案:
原理:list的header中的edittext可以正常使用。
则程序员需要与界面设计商讨设计原则:
1. 不要再listview中设计edittext。
2. 如果一定要,把edittext放在头部。