6

我使用ActionBarSherlock和ViewPagerIndicator庫來實現滑動效果和操作欄。因此,我可以滑動不同的片段,但不顯示指標標題。ViewPagerIndicator不顯示標題文本

Captured Screen

這裏是我的FragmentActivity

public class eventActivity extends SherlockFragmentActivity { 
    ViewPagerFragmentAdapter mAdapter; 
    ViewPager mPager; 
    PageIndicator mIndicator; 

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.event_layout); 

    ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setDisplayShowTitleEnabled(false); 
    actionBar.setDisplayUseLogoEnabled(true); 

    mAdapter = new ViewPagerFragmentAdapter(getSupportFragmentManager()); 
    mPager = (ViewPager)findViewById(R.id.pager); 
    mPager.setAdapter(mAdapter); 
    mIndicator = (TitlePageIndicator)findViewById(R.id.indicator); 
    mIndicator.setViewPager(mPager); 
    mIndicator.setCurrentItem(1); 

} 
    ...... 

這裏是我的適配器

public static class ViewPagerFragmentAdapter extends FragmentPagerAdapter implements TitleProvider { 

    ArrayList<Fragment> fragments = new ArrayList<Fragment>(); 
    ArrayList<String> titles = new ArrayList<String>(); 

    public ViewPagerFragmentAdapter(FragmentManager fm) { 
     super(fm); 
     fragments.add(new eventInvitedFragment()); 
     titles.add("Invited"); 
     fragments.add(new eventAllFragment()); 
     titles.add("all"); 
     fragments.add(new eventParticipatedFragment()); 
     titles.add("participated"); 
    } 


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

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

    @Override 
    public String getTitle(int position) { 
     return titles.get(position); 
    } 
} 

回答

12

我已經改變的getTitle(INT位置)getPageTitle(INT)在ViewPagerFragmentAdapter解決了這個問題。 ViewPagerIndicator ChangLog具有以下描述:

名稱指示符適配器回調現在使用在支持庫的版本R6引入的標準getPageTitle(int)方法。

+1

感謝您將解決方案發布到您自己的問題。它幫助了我。 – Seth

+2

我使用getPageTitle(int)方法返回標題,但問題未解決。請幫幫我。 –

+0

@NguyenMinhBinh你是否缺少'tabLayout.setupWithViewPager(mViewPager);' ? 這是你不會看到標籤的原因之一 –