Android工作室,如果按钮没有drawable

时间:2017-10-09 17:43:16

标签: java android

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更改为按钮,因此您无法使用已再次使用的按钮。

1 个答案:

答案 0 :(得分:1)

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

if (b4.getBackground() == null)

然而,你应该设计一个"模型"为你的tic-tac-toe游戏。

这是一个想法:

存储一个可以存储三个可能值的2D 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。

现在检查" square"中是否有任何内容,您只需检查数组EMPTY