禁用onClick直到int =某事

时间:2017-11-24 16:59:31

标签: java android

public class MainActivity extends AppCompatActivity {

int foulCounterA = 0;
int scoreOnePointTeamA = 0;
int periodCount = 0;
private TextView tv1;
private TextView period;
private Button startbtn, cancelbtn;
private ToggleButton togbtn;
private boolean isPaused = false;
private boolean isCanceled = false;
private long remainingTime = 0;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    tv1 = (TextView) findViewById(R.id.tv1);
    period = (TextView) findViewById(R.id.period_number);
    startbtn = (Button) findViewById(R.id.startBtn);
    cancelbtn = (Button) findViewById(R.id.cancelBtn);
    togbtn = (ToggleButton) findViewById(R.id.togBtn);

    cancelbtn.setEnabled(false);
    togbtn.setEnabled(false);

    startbtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            foulCounterA = 0;
            foulCounterB = 0;
            displayForTeamAFoul(foulCounterA);
            displayForTeamBFoul(foulCounterB);

            if (periodCount < 3)
                periodCount = periodCount + 1;
            else periodCount = 4;
            period.setText("Period " + periodCount);

            startbtn.setEnabled(false);
            cancelbtn.setEnabled(true);
            togbtn.setEnabled(true);

            isPaused = false;
            isCanceled = false;

            long millisInFuture = 20000; /////20sec
            long countDownInterval = 1000; /////1sec
            new CountDownTimer(millisInFuture, countDownInterval) {
                @Override
                public void onTick(long millisUntilFinished) {
                    if (isPaused || isCanceled) {
                        cancel();
                    } else {
                        tv1.setText("" + millisUntilFinished / 1000);
                        remainingTime = millisUntilFinished;
                    }

                }

                @Override
                public void onFinish() {

                    startbtn.setEnabled(true);
                    togbtn.setEnabled(false);

                    if (periodCount < 4)
                        tv1.setText("Times up!");
                    else tv1.setText("Game Over!");
                }
            }.start();
        }
    });

    togbtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (togbtn.isChecked()) {
                isPaused = true;
            } else {
                isPaused = false;
                long millisInFuture = remainingTime;
                long countDownInterval = 1000; /////1sec
                new CountDownTimer(millisInFuture, countDownInterval) {
                    @Override
                    public void onTick(long millisUntilFinished) {
                        if (isPaused || isCanceled) {
                            cancel();
                        } else {
                            tv1.setText("" + millisUntilFinished / 1000);
                            remainingTime = millisUntilFinished;
                        }

                    }

                    @Override
                    public void onFinish() {

                        startbtn.setEnabled(true);
                        togbtn.setEnabled(false);

                        if (periodCount < 4)
                            tv1.setText("Times up!");
                        else tv1.setText("Game Over!");

                    }
                }.start();
            }
        }
    });

    cancelbtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            isCanceled = true;
            period.setText("Period");
            tv1.setText("Timer");
            startbtn.setEnabled(true);
            togbtn.setEnabled(false);
            cancelbtn.setEnabled(false);

            foulCounterA = 0;
            foulCounterB = 0;
            periodCount = 0;
            displayForTeamAFoul(foulCounterA);
            displayForTeamBFoul(foulCounterB);
        }
    });
}

public void onePointForTeamA(View v) {
    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);
}

public void displayForTeamAOnePoint(int score) {
    TextView scoreView = (TextView) findViewById(R.id.team_a_score_1_point);
    scoreView.setText(String.valueOf(score));
}

public void displayForTeamAFoul(int score) {
    TextView scoreView = (TextView) findViewById(R.id.team_a_foul);
    scoreView.setText(String.valueOf(score));
}

}

我想让java代码尽可能简单,所以我只是添加了我的问题的行。我试图做的是

android:onClick="onePointForTeamA"只有在foulCounterA = 5后才能点击此按钮<{1}} <{1}}

这样就给了我一个错误。说if (foulCounterA = 5);

我该怎么做代码?将提供任何帮助

1 个答案:

答案 0 :(得分:0)

关于你的具体问题,if(foulCounterA = 5)的语法;是错误的,因为方程式检查必须由==运算符进行。

所以正确的语法是if(foulCounterA == 5);

正如@OH GOD SPIDERS在评论中所写,你应该检查java运算符的基础知识。

另外,我建议您在提出新问题之前搜索答案。