I have a ViewPager in which I am using the getPageTitle method to get the title of the current page.
Here is the Adapter code:
@Override
public Fragment getItem(int i) {
details = productData.get(i);
Fragment fragment = new ProductViewFragment();
Bundle args = new Bundle();
args.putInt(ProductViewFragment.ARG_SECTION_NUMBER, i + 1);
fragment.setArguments(args);
return fragment;
}
@Override
public int getCount() {
return productData.size();
}
public CharSequence getPageTitle(int position)
{
return (position+1)+" of "+myData.size();
}
Now I would like to update the page titles of the previous and next fragments. I want to name them as “previous” and “next”. And it should be updated dynamically on subsequent pages also.
I am able to get the current page title number. For example, when I view the 5th fragment, the current fragment will show the title properly. And at both the corners of the ViewPager it shows the previous page title number on the left and next page title number on the right. Now, I want to have the page titles as “previous” on the left and “next” on the right, similar to the Gmail app and how it shows the mail count in the ViewPager.
The main thing I want to know is how can I access/modify the page title data of the next/previous fragments from the current fragment like they do in the Gmail app?
I based this on the samples that come with the
ViewPagerIndicator.You basically listen for when the page changes and tell the adapter to display a different page title depending on the current position.
If you have those samples working and you just replace those two files, then try the sample Titles->Default and it works fine for me…
Changed the code for
TestFragmentAdapterlike this:the code for
SampleTitlesDefaultlooks like this (added the OnPageChangeListener)