Reputation: 428
I have problem setting the title view pager by using PagerTitleStrip. I added a child view of PagerTitleStrip in view pager.
Where can I provide the title strings to apply to each page?
How can I set the page title in the Page Adapter class?
Upvotes: 2
Views: 1755
Reputation: 428
Override the getPageTitle method and supply your static array of pages string to it.
String [] titlesArray =
new String []{
page1,
page2,
page3
};
public CharSequence getPageTitle(int position) {
return titlesArray [position];
}
Upvotes: 4
Reputation: 37633
Here is full example.
You have to implement public CharSequence getPageTitle(int position)
.
public class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
public ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public int getCount() {
return mFragmentList.size();
}
public void addFragment(Fragment fragment) {
mFragmentList.add(fragment);
}
@Override
public Fragment getItem(int position) {
if(position == 0){
return FragmentInner1.newInstance();
}
else {
return FragmentInner2.newInstance();
}
}
@Override
public CharSequence getPageTitle(int position) {
if(position == 0){
// public static final String PAGE_TITLE = "My Title #1" is within the layout FragmentInner1;
return FragmentInner1.PAGE_TITLE;
}
else {
// public static final String PAGE_TITLE = "My Title #2" is within the layout FragmentInner2;
return FragmentInner2.PAGE_TITLE;
}
}
}
Upvotes: 0