6
我使用ActionBarSherlock和ViewPagerIndicator庫來實現滑動效果和操作欄。因此,我可以滑動不同的片段,但不顯示指標標題。ViewPagerIndicator不顯示標題文本
這裏是我的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);
}
}
感謝您將解決方案發布到您自己的問題。它幫助了我。 – Seth
我使用getPageTitle(int)方法返回標題,但問題未解決。請幫幫我。 –
@NguyenMinhBinh你是否缺少'tabLayout.setupWithViewPager(mViewPager);' ? 這是你不會看到標籤的原因之一 –