0

ギャラリーとそのアイテムのカスタム レイアウトがあります。ボタンはそれぞれ2つ付いています。項目ビューに触れるたびに、そのボタンが押されます。

ボタンをクリックすると、別のボタンは onPressed 状態を受け取りませんが、近くをクリックすると両方とも受け取ります。

触れられていないボタンの状態が変化しないようにするにはどうすればよいですか?

4

2 に答える 2

0

ボタンがあるコンテナーとしてオーバーライドされたクラスが既にあります。したがって、Luksprog によって言及された方法で setPressed() をオーバーライドします

public class GalleryItem extends FrameLayout {
    @Override
    public void setPressed(boolean pressed) {

        return;
    }

}
于 2012-12-14T17:08:37.650 に答える
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);
    }

}
于 2012-11-29T12:55:42.047 に答える