ListView的Item上有个按钮 ,Item不能响应点击事件的解决方法

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

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

解决办法:获取到按钮后  设置它的焦点事件为false就好了。

button.setFocusable(false);

“这里还要强调一下:当xml中注册多个 View的时候,当我们点击按键之后,

Android会先判定哪个View setFocusable(true)设置焦点了,

如果都设置了,那么Android 会默认响应在xml中第一个注册的view ,而不是两个都会响应。”

你可能感兴趣的:(ListView的Item上有个按钮 ,Item不能响应点击事件的解决方法)