I\'m dealing with .setVisibility() of a view, inside my main fragment at app start. So what I want is that the view is invisible on app sta
You need to use the onResume()
callback method, if you would like to detect when the fragment is visible again
Fragments don't have onRestart()
. It's only for Activities.
See the lifecycle of fragments below
I suppose you're looking for onResume()
instead
Use a boolean flag to check whether or not you're returning to the Fragment:
private boolean firstVisit;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//other stuff
firstVisit = true;
}
@Override
public void onResume() {
//other stuff
if (firstVisit) {
//do stuff for first visit only
firstVisit = false;
}
}
You can use either onStart()
or onResume()
if you want to load things when returning to the fragment.
Fragment life cycle doesn't have onRestart()
method. You could use onPause()
and onResume()
as per your requirement.
Further reading : Fragments
You can use onRestart()
on the activity, making it call whatever method you want on the fragment by making use of getFragmentManager().findFragmentById(R.id.your_fragment)
.
When a fragment gets restarted its underlying activity got restarted so its onRestart()
method was called.