1. ホーム
  2. java

[解決済み] updateScore()メソッドを呼び出すたびに、スコアが更新されないのですが?

2022-02-08 04:14:40

質問内容

メソッド "updateScore()" を呼び出すたびにスコアを更新しようとしているのですが、なぜかうまくいきません。

最初に勝つとちゃんと更新され、次に新しいゲームを選択して勝つとスコアが更新されず、スコアはそのままです。

初勝利---> (X) 勝利数:1

2勝目--->(X) 勝率:1 ?2でなければならない

.

コードソース

public void updateScore() {
    xWinnerTimes = 0;
    oWinnerTimes = 0;
    winnerBoardO = findViewById(R.id.winner_o);
    winnerBoardX = findViewById(R.id.winner_x);
    if (winner == 1){
        xWinnerTimes++;
        winnerBoardX.setText("(X) Wins: " + (xWinnerTimes));
    }

    if (winner ==2){
        oWinnerTimes++;
        winnerBoardO.setText("(O) Wins: " + (oWinnerTimes));
    }

解決方法は?

onCreateメソッドに以下のコードを記述します。

xWinnerTimes = 0;
oWinnerTimes = 0;
winnerBoardO = findViewById(R.id.winner_o);
winnerBoardX = findViewById(R.id.winner_x);

xWinnerTimes と oWinnerTimes は、グローバル変数にする必要があります。

そして、私によれば、特定の時刻にユーザーインターフェースのスコアを更新する場合、以下のメソッドを呼び出す必要があります。 updateScore() ランオンユーティスレッド