You could override setUserVisibleHint
inside your fragment like this:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
//Fragment is selected in ViewPager
//Put your "on appear" validation/loading here
}
}
This method will fire every time you show or hide the fragment in the ViewPager
.
As opposed to view.isShown()
this method does take a "loaded but not visible" state into account.