2017-11-24 7 views
-1
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コードを作りたかったので、私の質問のための行を追加しました。私は何をしようとしていることfoulCounterA = 5
if (foulCounterA = 5);それは私にそのようにエラーを与えたint = somethingまでonClickを無効にする

public void foulCountForTeamA(View v) {内の追加に失敗しましたときに、このボタンのみクリック可能にする

android:onClick="onePointForTeamA"です。あなたはコードをどうすればいいですか?required: boolean, found: int.

任意のヘルプはappreeciatedされます

+1

オペレータに関する基本的なJavaチュートリアルをご覧ください:[オペレータ - Java™チュートリアル](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html) - 特に'代入'と '平等'演算子の違いに注意してください。 –

+0

条件が成功した場合にのみ反応するonClickListenerの前にその条件を追加してください。プラス=は値を割り当てるときに使用され、==は値を比較するときに使用されます。 – Nero

答えて

0

あなたの具体的な質問については、if(foulCounterA = 5)の構文。方程式チェックは==演算子で行われなければならないので、間違っています。

したがって正しい構文は(foulCounterA == 5)です。

@OH GOD SPIDERSがコメントに書いているように、Javaオペレータの基本を確認する必要があります。

また、新しい質問をする前に、回答を検索することをお勧めします。

+0

私は開発が本当に新しいので、問題を知らずに検索するのは本当に難しかったので、問題の内容と正しい検索方法を実際に知ることはできませんでした。 Tyは助けを求めて、私は上記の@ OH GOD SPIDERSとしてチェックします。 –

関連する問題