Replace fragment with another fragment inside ViewPager
Try using FragmentStatePagerAdapter
http://android-developers.blogspot.com/2011_08_01_archive.html
coz it will remove the fragment as you swipe through the view(also when you call getitem), so you don't need to explicitly remove them yourself.
I've been having the same problem it works for me.
I try your code and remove the if (fragment!=null)
block and it works.
Like Maurycy said, you need to call mAdapter.notifyDataSetChanged()
whenever you want to tell the ViewPager that the fragments have been replaced. However, you also need to override the getItemPosition()
abstract function in your adapter and return POSITION_NONE when called with an old, to be hidden, fragment as argument. Otherwise, ViewPager will retain all current fragments.
For more information and example code, see this answer to a related question.