2017-12-28 12 views
1

나는 현재 조각을 가져 와서 탭 수를 추적하고 각 탭의 탭 제목을 설정하는 것을 처리하는 FragmentPagerAdapter을 가지고 있습니다.FragmentPagerAdapter에서 getPageTitle이 호출되지 않음

public class ClothingSectionsPagerAdapter extends FragmentPagerAdapter { 

    private String[] mCategories; 

    public ClothingSectionsPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    public void setContext(Context context) { 
     mCategories = context.getResources().getStringArray(R.array.category); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return ClothingCategoryFragment.newInstance(mCategories[position]); 
    } 

    @Override 
    public int getCount() { 
     return mCategories.length; 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     Log.d("getPageTitle", mCategories[position]); 
     return mCategories[position]; 
    } 
} 

제 활동에서이 클래스를 구현했습니다.

ClothingSectionsPagerAdapter sectionsPagerAdapter = 
       new ClothingSectionsPagerAdapter(getSupportFragmentManager()); 

sectionsPagerAdapter.setContext(this); 
mViewPager.setAdapter(sectionsPagerAdapter); 
mViewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(mTabLayout)); 
mTabLayout.addOnTabSelectedListener(new TabLayout.ViewPagerOnTabSelectedListener(mViewPager)); 
mViewPager.setCurrentItem(startingFragmentPosition); 

그러나 내 앱을 실행할 때. 탭은 있지만 제목이 없습니다. getPageTitle 메서드는 호출되지 않습니다. 이 문제를 어떻게 해결할 수 있습니까?

+2

'tabLayout.setupWithViewPager (viewPager); ' – Prem

답변

2

보십시오이

mTabLayout.setupWithViewPager(mViewPager);