如何禁止listview的item项获得焦点,而让item的子控件获得焦点
1个回答
2016-09-02
展开全部
其实与item相关的设置在配置文件里面虽然没有,但是代码里还是有的,如下:
listView.setItemsCanFocus(true); //设置item项的子控件能够获得焦点(默认为false,即默认item项的子空间是不能获得焦点的)
通过这一行代码即可实现以上需求,另外,关于焦点的传递大家有兴趣的话可以自行查看源码。
补充:如果没有出现左图的获得焦点高亮效果,可能有以下原因:
1,ImageView默认不能获得焦点,应该设置属性为:android:focusable="true" (如果是ImageButton或Button等则不需要设置,他们默认是可以获得焦点的)
2,没有为该ImageView设置自定义drawable图片的的selector(该ImageView其实已经获得焦点了,只是没有看出来而已)。
listView.setItemsCanFocus(true); //设置item项的子控件能够获得焦点(默认为false,即默认item项的子空间是不能获得焦点的)
通过这一行代码即可实现以上需求,另外,关于焦点的传递大家有兴趣的话可以自行查看源码。
补充:如果没有出现左图的获得焦点高亮效果,可能有以下原因:
1,ImageView默认不能获得焦点,应该设置属性为:android:focusable="true" (如果是ImageButton或Button等则不需要设置,他们默认是可以获得焦点的)
2,没有为该ImageView设置自定义drawable图片的的selector(该ImageView其实已经获得焦点了,只是没有看出来而已)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询