FragmentStatePagerIssueExample
FragmentStatePagerIssueExample copied to clipboard
Be careful with findFragmentById() to find fragments inside a FragmentStatePagerAdapter
Hi,
I found your blog post while searching for my own bug with FragmentStatePagerAdapter.
So I'll share my experience...
You can test this bug on support library 23.1.1:
- Put a
ViewPageron your activity and use aFragmentStatePagerAdapteras adapter, which provides a list of fragments. - Each fragment saves its own index within the adapter in its arguments (you provide that index).
- On each fragment, put a button. When a button is clicked, you get the fragment manager, and call
findFragmentById()with the current fragment ID (viagetId()). - Take the result fragment, get the index back to compare it to current fragment index.
The bug is: findFragmentById() returns random fragment. The index number is wrong in most case.
So be careful :-)
Thanks for the tip. I haven't touched this in years, but I'll leave this open so hopefully anyone else who comes across this can benefit from your experiences.