I have to make network calls in every page which is a fragment in viewpager.
The Problem is that the viewpager calls onCreateView() of adjacent fragments having network requests (I am using retrofit) which makes the progress dialog of retrofit request still visible after making the network request.
viewPager.setOffscreenPageLimit(1);
Android allows a min value of 1 in setOffScreenPageLimit.
I also used
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if(isVisible()){
if(isVisibleToUser){
Log.d("MyTag","TopFramgnet:My Fragment is visible");
}else{
Log.d("MyTag","TopFramgnet:My Fragment is not visible");
}
}
}
But this method is not called every time when i switch to the fragment. So, How to make the network calls efficiently?
Second Problem is that how can i reload the fragment so that if i changed something, it can reload its view by making network request again?
Please guide me, I can't find anything that solves my problem.