0

クリック数を数えてクリック数を表示する必要がありますがtextView2、私のコードは数字 4 を表示するだけです。while ループを使用してクリック数を確認しました。

public void Clicks(View v){
    final TextView answerLabel = (TextView)findViewById(R.id.textView1); //show text from answer variable.
     TextView count = (TextView) findViewById(R.id.textView2); //display click count.
    String answer = null;
    int i = 0;
    while(i < 5){   // I allow user click just 5 time.

    switch (v.getId()){
        case R.id.button1 :
           answer= "ROCK";
           answerLabel.setText(answer);
           count.setText(String.valueOf(i));
           i++;
        break;
        case R.id.button2 :
         answer = "SCISSOR";
         answerLabel.setText(answer);
         count.setText(String.valueOf(i));
         i++;
         break;
        case R.id.button3 :
        answer = "PAPER";
        answerLabel.setText(answer);
        count.setText(String.valueOf(i));
        i++;
        break;
        }
    }   
}

うまく表示するにはどうすればいいですか?

4

3 に答える 3

0

break を continue に変更します。break はループを停止するため

ただし、この場合、人がクリックするたびにインクリメントしています。

したがって、ループはまったく必要ありません。

代わりにif条件が必要です!if(i<5) のように i をグローバル変数にする

于 2013-09-18T01:21:52.740 に答える
0

int i = 0; と入力する必要があります。クラスレベルで onClick の外側にあり、1 から開始します

public int i = 1;

次に、onClick で if ステートメントを使用します

   if(i <= 5)
{
switch (v.getId()){
        case R.id.button1 :
           answer= "ROCK";
           answerLabel.setText(answer);
           count.setText(String.valueOf(i));
           i++;
        break;
        case R.id.button2 :
         answer = "SCISSOR";
         answerLabel.setText(answer);
         count.setText(String.valueOf(i));
         i++;
         break;
        case R.id.button3 :
        answer = "PAPER";
        answerLabel.setText(answer);
        count.setText(String.valueOf(i));
        i++;
        break;
        }
}
于 2013-09-18T01:22:00.937 に答える