listview checkbox的问题 100
listview中加入checkbox后,设置android:focusable="false"android:checked="false"后现在有一个问题,check...
listview中加入checkbox后,设置
android:focusable="false"
android:checked="false"
后现在有一个问题,checkbox点击两次后,即选中再去除选中,这时再点击,就无法选中了,点到的永远都是item了,请问怎么解决 展开
android:focusable="false"
android:checked="false"
后现在有一个问题,checkbox点击两次后,即选中再去除选中,这时再点击,就无法选中了,点到的永远都是item了,请问怎么解决 展开
2013-04-29
展开全部
如果你的自定义ListViewItem中有Button或者Checkable的子类控件的话,那么默认focus是交给了子控件,而ListView的Item能被选中的基础是它能获取Focus。
我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”来解决,这样Item Layout就屏蔽了所有子控件获取Focus的权限,如此就可以顺利的响应onItemClickListener中的onItenClick()方法了。
android:descendantFocusability有三种属性:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
我们可以通过对Item Layout的根控件设置其android:descendantFocusability=”blocksDescendants”来解决,这样Item Layout就屏蔽了所有子控件获取Focus的权限,如此就可以顺利的响应onItemClickListener中的onItenClick()方法了。
android:descendantFocusability有三种属性:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
展开全部
android:focusable="false"
去掉看看。
checkBox还真没发现会出什么问题。
去掉看看。
checkBox还真没发现会出什么问题。
追问
checkbox本身是不会有什么问题,但是放在listview里就不一样了,因为如果不加上android:focusable="false",checkBox的焦点是高于listview的,这样你就点不到ietm了
------------
这个问题已经解决了,在checkbox的click里,加上notifyDataSetChanged()来刷新页面即可解决
追答
学习了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询