2016-01-21 35 views
1

如果計數器的值大於maxCount,textView將會更改。 這是我的代碼。我希望你明白我的意思。謝謝。如何設置設置最大計數器並在達到最大值時更改TextView

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

回答

0

考慮使用while循環

基本上消除對循環 並將此條件

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

所以,如果我將再次計數(兩次),然後改變TextView的,我應該怎麼我的代碼呢? thx –

+0

「如果計數器的值超過maxCount,textView將會改變。」 這是您的問題,如果我正確閱讀 –

+0

是的,但我想循環兩次計數.. –

0

我真的不知道什麼ü意味着但在yoor代碼中的錯誤。

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

您對if和else if使用相同的condison。並且爲了解決conter conter限制,你可以使用while循環。

+0

之前我想再次計算兩次並更改TextView,那麼我應該如何處理我的代碼? thx –

0

你的TextView在哪裏綁定代碼!

你需要綁定你的TextView象下面這樣:

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

我已經這麼做了,我的循環如何,請糾正我。 thx –

+0

請提供您執行的完整代碼,以便用戶可以瞭解問題並給出正確答案。 – pRaNaY

+0

我希望我的輸出是當我點擊按鈕和計數器運行,然後當計數器達到我的countMax TextView將改變,直到countMax再次到達,所以其他TextView會再次改變。對不起,如果我的英語不好。多謝。 –