如何设置最大计数器并在达到最大值时更改TextView

时间:2016-01-21 03:39:43

标签: android for-loop counter

如果counter的值大于maxCount,则textView将更改。 这是我的代码。我希望你明白我的意思。 THX。

int counter = 0;
int maxCount = 5;
TextView  txtCount, txtResult;
private Vibrator mVibrator;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.tasbih);

    img = (ImageView) findViewById(R.id.img_btn);
    img.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            mVibrator.vibrate(700);
            counter ++;
            txtCount.setText(Integer.toString(counter));

         for (int i = 0; i < maxCount; i++ ){

                if (counter >= maxCount) {
                    txtResult.setText("Text 2");
                    counter = 0;
                    break;
                  }else if (counter >= maxCount){
                    txtResult.setText("Text 3");
                    Toast.makeText(MainActivity.class, "Done!!!", Toast.LENGTH_SHORT).show();
                }
            }
        }

3 个答案:

答案 0 :(得分:0)

考虑使用while循环

基本上删除for循环 并设置这个条件

    while(counter <= maxcounter) {
//your code to set textview value
counter++; //incrementing counter value in each loop 
}

答案 1 :(得分:0)

我不确定你的意思,但是你的代码有错误。

if (counter >= maxCount) {
    txtResult.setText("Text 2");
    counter = 0;
    break;
  }else if (counter >= maxCount){
    txtResult.setText("Text 3");
}

你对if和else使用了同样的condison。对于cheking conter限制的解决方案,您可以使用while循环。

答案 2 :(得分:0)

您的TextView绑定代码在哪里!

您需要绑定TextView,如下所示:

txtCount=(TextView) findViewById(R.id.txtCount);
txtResult=(TextView) findViewById(R.id.txtResult);
.....