public void - button.setEnabled with if statement for my situation?

时间:2017-11-25 11:18:44

标签: java android button buttonclick

public void onePointForTeamA(View v) {
    if (foulCounterA == 5) {
        scoreTeamA = scoreTeamA + 1;
        scoreOnePointTeamA = scoreOnePointTeamA + 1;
        displayForTeamA(scoreTeamA);
        displayForTeamAOnePoint(scoreOnePointTeamA);
    }
}


 public void foulCountForTeamA(View v) {
    if (foulCounterA < 5)
        foulCounterA = foulCounterA + 1;
    else
        foulCounterA = 5;
    displayForTeamAFoul(foulCounterA);
}

你好。首先,我是Android开发和java的新手。我已经搜索了很多这个问题,但自己找不到解决方案。我想我还在学习。我发现的只是覆盖方法。
关于我的问题;我想将button.setEnabled(true);和“if”添加到我的java文件中,这样我的按钮只能点击if (foulCounterA == 5),否则无法点击。
通过做这个改变,我想改变它的textView颜色,我知道如何做到这一点。 有关XML文件的android:onClick="onePointForTeamA"
android:onClick="foulCountForTeamA"。的int scoreTeamA = 0;
int scoreOnePointTeamA = 0; int foulCounterA = 0;关于Java文件。
有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您应该知道的是,此案例的参数(View v)ButtonButtonView的子类。如果您想在方法中使用

,则可以进行投射
Button button=(Button)v;

但是您无需设置启用或可点击的行为。

解决方案:

添加

v.setEnabled(false);

您希望将其停用在哪里,您可以true启用它。

OR

v.setClickable(false);

要将其设置为无法点击,您可以将true设置为可再次点击。

答案 1 :(得分:-1)

boolean condition = (foulCounterA == 5);
button.setEnabled(condition);

OR

if(foulCounterA == 5) {
    button.setEnabled(true);
} else {
    button.setEnabled(false);
}