android what to use instead of onRestart() in a fragment

前端 未结 5 1293
既然无缘
既然无缘 2021-01-20 15:34

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

相关标签:
5条回答
  • 2021-01-20 16:00

    You need to use the onResume() callback method, if you would like to detect when the fragment is visible again

    0 讨论(0)
  • 2021-01-20 16:06

    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;
        }
    }
    
    0 讨论(0)
  • 2021-01-20 16:07

    You can use either onStart() or onResume() if you want to load things when returning to the fragment.

    0 讨论(0)
  • 2021-01-20 16:07

    Fragment life cycle doesn't have onRestart() method. You could use onPause() and onResume() as per your requirement.

    Further reading : Fragments

    0 讨论(0)
  • 2021-01-20 16:16

    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.

    0 讨论(0)
提交回复
热议问题