2016-01-13 103 views
1

我已經建立了一個帶有3個片段的尋呼機,我想在顯示片段#2時執行特定的代碼塊,但問題是顯示片段#1時,執行此片段的onCreate/onResume方法。我明白,這背後的邏輯正在爲實際需要片段#2時的工作做好準備,但如果在顯示片段#2時需要專門完成某些工作,我該怎麼辦?如何在顯示某個片段時執行一段代碼?

回答

3

您可以實現一個OnPageChangeListener,覆蓋OnPageSelected並將其設置在ViewPager這樣:

viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { 
    @Override 
    public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 

    } 

    @Override 
    public void onPageSelected(int position) { 
     if (position == 1) { // Meaning the position of the 2nd Fragment 
      doSomeCode(); 
     } 
    } 

    @Override 
    public void onPageScrollStateChanged(int state) { 

    } 
}); 
+0

簡單而有效的解決...感謝埃裏克! :) –

相關問題