2014-11-24 84 views
7

時,下面是我的ViewpagerAdapterViewpager在片段不會得到更新導航回片段

private class ImagePagerAdapter extends FragmentStatePagerAdapter 
{ 
    public ImagePagerAdapter(FragmentManager fm) { 
     super(fm); 
     // TODO Auto-generated constructor stub 
    } 

    @Override 
    public Fragment getItem(int arg0) { 
     // TODO Auto-generated method stub 
     Fragment fragment = new DemoObjectFragment(); 
     Bundle args = new Bundle(); 

     args.putInt(DemoObjectFragment.ARG_OBJECT, arg0); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    @Override 
    public int getCount() { 
     // TODO Auto-generated method stub 

     int returnVal=0; 
     if (totalPlayer%5==0) { 
      returnVal= totalPlayer/5; 
     } 
     else 
     { 
      moduloImage=totalPlayer%5; 
      returnVal= (totalPlayer/5)+1; 
     } 
     return returnVal; 
    } 

    @Override 
    public int getItemPosition(Object object){ 
     return POSITION_NONE; 
    } 
} 

的代碼時,我加載我片段第一次,它顯示在視圖尋呼機的所有項目。然後,當我通過將此片段添加到堆棧中導航到新片段時,它會顯示下一個屏幕。之後,當我按下按鈕時彈出包含viewpager的前一個片段,它將顯示所有值,並且還顯示viewpager指示符到我離開時的確切位置,但查看尋呼機項目似乎顯示爲不可見。當我滾動viewpager時,它被更新並顯示完美。

我試圖通過更新viewpager,但它似乎什麼都不做。

我已經intialized視圖尋呼機如,

pager.setAdapter(new ImagePagerAdapter(this.getFragmentManager())); 
pager.setCurrentItem(0); 
indicator.setViewPager(pager); 
+0

你試過刷新裏面的值嗎? – 2014-11-24 05:15:08

+0

是的。我已經嘗試刷新整個值數組。 – Beena 2014-11-24 05:37:35

回答

11

最後我找到了解決方案。問題在於我的viewPager的初始化。

我需要通過發起的

 pager.setAdapter(new ImagePagerAdapter(this.getChildFragmentManager())); 

代替

 pager.setAdapter(new ImagePagerAdapter(this.getFragmentManager())); 

我refered FragmentPagerAdapter getItem is not being triggered接受的答案它。

希望它可以幫助面臨同樣問題的人。

+0

謝謝你!你真的拯救了我的一天! – Sultan 2015-10-06 20:55:55