Reputation: 2528
In my Android application there are two fragments called FragmentA
and FragmentB
. I added both fragments to a ViewPager
using a FragmentAdapter
So when I run the application I'm getting a unexpected layout (both fragment layouts are mixed together). Whenever I tried changing the currentItem
of ViewPager
by swiping for each time the layout is mixing each other.
My question: Is there any problem if we use same layout to different fragments in a ViewPager
?
Upvotes: 1
Views: 641
Reputation: 2528
I found the answer.
There is no problem if you use getView()
function of Fragment
to refer the current root view of a fragment. So that you can get exact views in the Fragment
. You can use like this(getView().findViewByid(...);
But there is a problem if you use activity reference to refer views in the fragment. Because all views in each fragment which is using same layout xml has same id. So if you change the value of a view in a fragment that will reflect in other fragments which are using the same layout in ViewPager
.
One more thing, think like this, when the activity created, all the fragments in the ViewPager
of that activity will also be created and runs in background. So if you change the value of a view, android will return 1st view which is having the same id. Android knows only id of views. So always refer views of fragment using it root view (getView()
).
Upvotes: 2