开发中,难免会在列表项中, 加入Button ,而button通常都有点击的效果。大家都会发现,点击列表项时,button会被触发点击效果,这样显示不合理。如何解决此问题呢。
其实发生这个现象的问题,是点击父类列表项时,会把响应传递给子类。只要子类不去响应父类的点击事件就行。
这里重写一个Button类。
其实发生这个现象的问题,是点击父类列表项时,会把响应传递给子类。只要子类不去响应父类的点击事件就行。
这里重写一个Button类。
package com.netqin.antivirus.securityreport;
import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.Button;
/**
* Created with IntelliJ IDEA.
* User: zhengdianfang
* Date: 13-6-5
* Time: 下午7:13
*/
public class SecurityReportItemButton extends Button{
public SecurityReportItemButton(Context context) {
super(context);
}
public SecurityReportItemButton(Context context, AttributeSet attrs) {
super(context, attrs);
}
public SecurityReportItemButton(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setPressed(boolean pressed) {
if (pressed && getParent() instanceof View
&& ((View) getParent()).isPressed()) {
return;
}
super.setPressed(pressed);
}
}