2017-07-30 32 views
0

我想用viewpager實現圖像滑塊。滑塊應該自動水平滾動。所以我使用如下計時器:當前視圖尋呼機是最後一頁時自動重置定時器

final Handler handler = new Handler(); 
     final Runnable Update = new Runnable() { 
      public void run() { 
       if (currentPage == NUM_PAGES-1) { 
        currentPage = 0; 
        timer.cancel(); 
        timer = new Timer(); 
       } 
       mPager.setCurrentItem(currentPage++, true); 
      } 
     }; 

     timer = new Timer(); // This will create a new Thread 
     timer .schedule(new TimerTask() { // task to be scheduled 

      @Override 
      public void run() { 
       handler.post(Update); 
      } 
     }, 500, 3000); 

mPager是已經設置的viewpager。

問題是,當它到達最後一個項目(圖像),它停在那裏,不再滾動。另一件事,當我手動滾動到第一頁,它突然滾動到最後一頁無知的計時器。

任何幫助,將不勝感激。

+0

到達最後一個圖像後,要與第一圖像再次啓動或者它應該回送一個接一個..? –

+0

沒有區別。任何解決方案,這是解決我的問題被認爲是:) @MuthukrishnanRajendran –

回答

1

你可以試試這個,

final Handler handler = new Handler(); 
final Runnable Update = new Runnable() { 
    public void run() { 
     int currentPage = mPager.getCurrentItem(); 
     if (currentPage == NUM_PAGES-1) { 
      currentPage = 0; 
     } else { 
      currentPage++; 
     } 
     mPager.setCurrentItem(currentPage, true); 

     handler.postDelayed(this, 5000); 
    } 
}; 

handler.postDelayed(Update, 500); 
+0

謝謝你的回答。第二個問題解決了。但第一個還沒有解決。我的意思是,滑塊到達最後一個項目,它不會刷卡了。我怎樣才能做到這一點? –

+0

你的意思是它沒有移動到第一個項目..? –

+0

你能否在你的答案中更新你當前的代碼? –

相關問題