2017-07-17 14 views
0

は、私はすでに私はフラグメントを移動するときは、常にdisapearViewPagerのdisapearフラグメントの移動

getChildFragmentManagerとCustomPager

が、私の見解ページャを使用しています。

これは、私を助けてください:) を私はthisを試みたが、そのが動作していない...

+1

'私は断片を動かす'これはどういう意味ですか?どうやってそれを動かす?上記の –

+0

コードは正常に動作しています。 – Bharatesh

答えて

0

この

を試してみてください、私のsetupViewPager

private void setupViewPager(ViewPager viewPager) { 
    MyPagerAdapter adapter = new MyPagerAdapter(getChildFragmentManager()); 
    adapter.addFragment(new PulsaFragment(), "Pulsa"); 
    adapter.addFragment(new TelkomFragment(), "Telkom"); 
    adapter.addFragment(new BPJSFragment(), "BPJS"); 
    adapter.addFragment(new ListrikFragment(), "Listrik"); 
    viewPager.setAdapter(adapter); 
} 

とmyPagerAdapter

class MyPagerAdapter extends FragmentPagerAdapter { 

    private List<Fragment> mFragmentList = new ArrayList<>(); 
    private final List<String> mFragmentTitleList = new ArrayList<>(); 
    private int mCurrentPosition = -1; 

    @Override 
    public void setPrimaryItem(ViewGroup container, int position, Object object) { 
     super.setPrimaryItem(container, position, object); 
     if (position != mCurrentPosition) { 
      Fragment fragment = (Fragment) object; 
      CustomPager pager = (CustomPager) container; 
      if (fragment != null && fragment.getView() != null) { 
       mCurrentPosition = position; 
       pager.measureCurrentView(fragment.getView()); 
      } 
     } 
    } 

    MyPagerAdapter(FragmentManager manager) { 
     super(manager); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return mFragmentList.get(position); 
    } 

    @Override 
    public int getCount() { 
     return mFragmentList.size(); 
    } 

    void addFragment(Fragment fragment, String title) { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return mFragmentTitleList.get(position); 
    } 

} 

です

class ViewPagerAdapter extends FragmentPagerAdapter { 
    private final List<Fragment> mFragmentList = new ArrayList<>(); 
    private final List<String> mFragmentTitleList = new ArrayList<>(); 

    public ViewPagerAdapter(FragmentManager manager) { 
     super(manager); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return mFragmentList.get(position); 
    } 

    @Override 
    public int getCount() { 
     return mFragmentList.size(); 
    } 

    public void addFragment(Fragment fragment, String title) { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return mFragmentTitleList.get(position); 
    } 
} 
関連する問題