2016-06-09 64 views
0

我有一個小問題。如何在onTick()方法中的多個TextView中設置文本

new CountDownTimer(12000, 2000) { 
    public void onTick(long millisUntilFinished) { 

    } 
    public void onFinish() { 

    } 
}.start(); 

在這裏我setText至6不同TextView(在一個XML)與每個onTick()喜歡。任何想法我可以做到這一點?由於

//編輯

I would like have something like this  
First tick  
tv.setText("one") 
Second Tick 
tv2.setText("two") 
+0

嘗試使用runonuithread –

回答

4

嘗試使用TextViews的陣列狀

TextView[] textViews = new TextView[6]; 
String[] value = new String[]{"one","two","three","four","five","six"}; 
int count = 0; 

new CountDownTimer(12000, 2000) { 

        public void onTick(long millisUntilFinished) { 
         textViews[count].setText(value[count]);// you can set dynamic string variable also 
         count++; 
        } 
        public void onFinish() { 

        } 
       }.start(); 
+0

這就是我正在尋找。謝謝 ;) – djmloody27

0

檢查下面的答案,

new CountDownTimer(12000, 2000) { 

     public void onTick(long millisUntilFinished) { 

       Activity_Name.this.runOnUiThread(new Runnable() { 

        @Override 
        public void run() { 
        tv1.setText(""); 
        tv2.setText(""); 
        tv3.setText(""); 
        tv4.setText(""); 

        } 
       }); 

      } 
      public void onFinish() { 

      } 
    }.start(); 
+0

我想setText每個滴答一次。在每個下一個滴答聲中,我都會將setText設置爲其他TextView。任何選項? – djmloody27

+0

採取一個int變量,並增加onTick方法和使用開關或如果在textview設置值 – Vickyexpert

1

你可以做這樣的事情:

new CountDownTimer(12000, 2000) { 
    int counter = 0; 

    public void onTick(long millisUntilFinished) { 
     switch (counter) { 
      case 0: 
       tv1.setText(""); 
       break; 
      case 1: 
       tv2.setText(""); 
       break; 

      // ... 

     } 
     counter++; 
    } 
    public void onFinish() { 
    } 
}.start(); 
相關問題