reusing fragments in a fragmentpageradapter
Appendix for Geoff's post:
You can get reference to your Fragment
in FragmentPagerAdapter
using findFragmentByTag()
. The name of the tag is generated this way:
private static String makeFragmentName(int viewId, int index)
{
return "android:switcher:" + viewId + ":" + index;
}
where viewId is id of ViewPager
Look at this link: http://code.google.com/p/openintents/source/browse/trunk/compatibility/AndroidSupportV2/src/android/support/v2/app/FragmentPagerAdapter.java#104
The FragmentPagerAdapter
already caches the Fragments
for you. Each fragment is assigned a tag, and then the FragmentPagerAdapter
tries to call findFragmentByTag
. It only calls getItem
if the result from findFragmentByTag
is null
. So you shouldn't have to cache the fragments yourself.