[Android]ListView焦点陷阱
做了ListView,但是只能点击button,无法对ListView进行激活。
查完网上的资料,发现ListView的Item能被选中的基础是它能获取Focus,也就是说我们可以通过将ListView中Item中包含的所有控件的focusable属性设置为false,这样的话ListView的Item自动获得了Focus的权限,也就可以被选中了,也就会响应onItemClickListener中的onItemClick()方法
解决办法就是将Button的Focus设置为非默认获取
方法一:将ListView的Item Layout的子控件focusable属性设置为false
方法二:对Item Layout的根控件android:descendantFocusability="blocksDescendant"
方法三:在实现ListView的Adapter的getView方法时,将button.setFocusable(false);
解决Android ListView焦点陷阱问题
本文探讨了在Android开发中遇到ListView无法激活的问题,并提供了三种有效解决方案:通过修改ItemLayout的子控件focusable属性、调整android:descendantFocusability属性、以及在Adapter的getView方法中设置按钮的focusable属性,帮助开发者解决焦点陷阱问题。
174

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



