如何设置最大计数器并在达到最大值时更改文本视图



如果计数器的值大于maxCount,则文本视图将更改。这是我的代码。我希望你明白我的意思。感谢。

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();
                }
            }
        }

考虑使用 while 循环

基本上删除 for 循环并放置此条件

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

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

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

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

你的TextView绑定代码在哪里!

您需要像下面这样绑定TextView

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

最新更新