繁体   English   中英

Android Studio,如果按钮没有可绘制

[英]Android studio, if button doesn't have drawable

b4.setOnClickListener(new View.OnClickListener() {
                              @Override
                              public void onClick(View v) {
            if (b4.getCompoundDrawables() == null) {
                if (turn == 1) {
                    turn = 2;
                    b4.setBackgroundResource(R.drawable.iks);
                } else if (turn == 2) {
                    turn = 1;
                    b4.setBackgroundResource(R.drawable.oks);
                }
            }

        }
    });    

我有可绘制的iks(X)和oks(O)(正在制作XO游戏),我想使用IF命令来检查b4(按钮)是否已经绘制了背景,以便只能对1进行更改。按钮,因此您无法使用已被再次使用的按钮。

您可以使用getBackground查看是否已设置背景可绘制对象:

if (b4.getBackground() == null)

但是,您应该为井字游戏设计一个“模型”。

这是一个主意:

存储一个二维int数组,该数组可以存储三个可能的值:0、1和2。0表示平方中没有任何值。 1表示有一个十字架,2表示没有。 您可以为这些创建常量:

public static final int EMPTY = 0;
public static final int CROSS = 1;
public static final int NOUGHT = 2;

公开一个称为updateArray(int x, int y, int value) ,该方法更新指定xy位置的值。

每次调用此方法时,都要设置正确视图的drawable。

现在要检查“正方形”中是否没有内容,您只需检查数组是否为EMPTY

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM