2016-09-23 22 views
-2

我正在嘗試使用查看尋呼機實現TabLayout。 有一種情況,我不希望tablyout,只是返回一個片段,我從ViewPagerAdapter的getItem()方法返回片段。 但是,如果沒有選項卡添加到選項卡布局,則不會調用此方法。如果沒有選項卡添加到選項卡布局,ViewPagerAdapter會不會被調用?

+0

但那設計。在沒有任何要求的情況下稱呼它是不合理的。 – Enzokie

+0

如何返回該片段,如果getItem沒有被調用,我想附加單個片段來查看尋呼機並使得tablyout的可見性不見了 –

回答

0

如果沒有選項卡添加到選項卡布局,ViewPagerAdapter會不會被調用?

它將即使你沒有興趣加入標籤被調用到tablayout

  1. 確保您已經添加片段到您的適配器列表

    private void setViewPager(ViewPager viewPager) { 
         ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
         adapter.addFrag(new PHRsplitActivity(),"one"); 
         adapter.addFrag(new EHRListActivity(),"two"); 
         adapter.addFrag(new LabReportsActivity(),"three"); 
         adapter.addFrag(new CalculatorListFragment(),"four"); 
         viewPager.setAdapter(adapter); 
        } 
    
  2. 確保適配器已正確實施,碎片添加到FragmentList。

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 addFrag(Fragment fragment, String title) { 
 
      mFragmentList.add(fragment); 
 
      mFragmentTitleList.add(title); 
 
     } 
 

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

你仍然有問題,讓我知道

+0

謝謝,它對我有很大的幫助 –

+0

如果是正確答案,請提前致謝 –

相關問題