您的位置:首页 > 移动开发 > Android开发

android中ListView的Iterm无法点击

2015-06-19 14:41 375 查看
碰到个问题,当listview中同时出现Button或者ImageButton时,只有item中的Button或ImageButton能够获取焦点(能点击),而整个item无法获取焦点(无法点击)

原因:

因为ImageButton在初始化时把自己设置成setFocusable(true),这样,listView就获取不到焦点。

代码:

public ImageButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setFocusable(true);
}


参考资料:

http://dev.10086.cn/cmdn/wiki/index.php?doc-view-6560.html

“这里还要强调一下:当xml中注册多个 View的时候,当我们点击按键之后,Android会先判定哪个View setFocusable(true)设置焦点了,如果都设置了,那么Android 会默认响应在xml中第一个注册的view ,而不是两个都会响应。”

所以在item中使用Button或ImageButton时需要留意这个

setFocusable(true)


方法、如果item无法响应点击,可以尝试给Button或ImageButton设置

setFocusable(false)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息