试着数一数点击android

试着数一数点击android,android,onclick,buttonclick,Android,Onclick,Buttonclick,我需要计算点击次数并显示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.textVi

我需要计算点击次数并显示
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;
        }
    }   
}
公共作废点击(视图五){
final TextView answerLabel=(TextView)findViewById(R.id.textView1);//显示来自应答变量的文本。
TextView计数=(TextView)findViewById(R.id.textView2);//显示单击计数。
字符串应答=null;
int i=0;
而(i<5){//我只允许用户点击5次。
开关(v.getId()){
案例R.id.button1:
回答:“岩石”;
answerLabel.setText(答案);
count.setText(String.valueOf(i));
i++;
打破
案例R.id.按钮2:
回答=“剪刀”;
answerLabel.setText(答案);
count.setText(String.valueOf(i));
i++;
打破
外壳R.id.按钮3:
答案=“纸张”;
answerLabel.setText(答案);
count.setText(String.valueOf(i));
i++;
打破
}
}   
}

如何正确显示它?

更改中断以继续;因为中断将停止循环

但在这种情况下,每次用户单击时,您都在增加

所以你根本不需要这个循环


你需要的是if条件!例如,如果(i您应该将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;
        }
}
if(i搜索布局膨胀的onCreate()方法,然后尝试以下操作:

@Override
public void onCreate(Bundle savedInstanceState) {
...

Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
Button button3 = (Button) findViewById(R.id.button3);
int i =0;
button1.setOnClickListener(new View.OnClickListener() {         
        public void onClick(View v) {
            answer= "ROCK";
                            answerLabel.setText(answer);
                            count.setText(String.valueOf(i));
                            i++;
        }
    });
button2.setOnClickListener(new View.OnClickListener() {         
        public void onClick(View v) {
            answer= "SCISSOR";
                            answerLabel.setText(answer);
                            count.setText(String.valueOf(i));
                            i++;
        }
    });
button3.setOnClickListener(new View.OnClickListener() {         
        public void onClick(View v) {
            answer= "PAPER";
                            answerLabel.setText(answer);
                            count.setText(String.valueOf(i));
                            i++;
        }
    });

@JangJoo我需要限制用户点击并从按钮抓取值到另一个函数,如果我想在执行下一个函数之前抓取5个值,我应该使用“如果”或“切换”条件?我尝试这样做,但我不知道如何发送“应答”到另一个函数,我认为这段代码不能限制用户的点击。所以你能推荐我吗?很高兴能提供帮助:)