我有一个图库和其项目的自定义布局。每个都有两个按钮。每当我触摸项目视图时,其按钮就会被按下。
当我点击一个按钮时,另一个按钮没有收到onPressed状态,但是当我点击附近时,它们都会收到它。
如何防止改变未触摸按钮的状态?
答案 0 :(得分:0)
使用下面的自定义Buttons
类替换项目布局中的Button
,并查看以下行为是否仍然存在:
public class SpecialButton extends Button {
// implement constructors
@Override
public void setPressed(boolean pressed) {
if (pressed && (getParent() instanceof View) && ((View) getParent()).isPressed()) {
return;
}
super.setPressed(pressed);
}
}
答案 1 :(得分:0)
我已经有一个重写的类作为按钮所在的容器。所以Luksprog提到的方式我覆盖了setPressed()
public class GalleryItem extends FrameLayout {
@Override
public void setPressed(boolean pressed) {
return;
}
}