2016-06-09 65 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(); 
相关问题