2013-02-05 168 views
3

我是Android的noob,我試圖從一個arrayList的字符串中循環文本並在textswitcher中顯示它們。我希望文本每兩秒更改一次。我用this這個問題作爲我的指南,並沒有問題用按鈕切換文本。但是,當我嘗試使用for循環以2秒的延遲循環文本時,它僅顯示arrayList中的第一個文本。我怎樣才能讓循環連續執行並暫停?任何幫助是極大的讚賞。如何暫停和恢復For循環?

我的代碼;

private void updateCounter() 
{ 

    try{ 
    for (int i=0; i< CoinShowReader.tickercontent.size(); i++){        

     mHandler.postDelayed(new Runnable() { 
      public void run() { 
       m_switcher.setText((CoinShowReader.tickercontent.get(CoinShowReader.m_counter)));    
       CoinShowReader.m_counter++; 
      } 
     }, 2000); 

     } 

    }catch(Exception e){ 
     e.printStackTrace();  
    } 
} 

回答

4

消除環路,你不需要它,只是安排花葯可運行這樣的處理程序中:

void updateTextView(){ 
     m_switcher.setText((CoinShowReader.tickercontent.get(CoinShowReader.m_counter)));    
     CoinShowReader.m_counter++; 

      mHandler.postDelayed(new Runnable() { 
          public void run() { 
           updateTextView(); 
     } } ,2000); } 
    } 

這樣每次調用updateTextView()日程表的下一個通話等.. 。

注:不要忘記插入觸發停止這種行爲,因爲它是無窮

+0

它的工作。謝謝! –