Fragment lifecycle - which method is called upon show / hide?

前端 未结 11 1037
伪装坚强ぢ
伪装坚强ぢ 2020-12-04 08:31

I am using the following method to switch between Fragments (in my NavigationDrawer) by showing / hiding them.

protected void showFragment(int container, Fra         


        
11条回答
  •  夕颜
    夕颜 (楼主)
    2020-12-04 08:59

    Just try this in your setUserVisibleHint()

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
        if(isVisibleToUser && getView() != null){
            isActive = true;
            init();
        }else if(isVisibleToUser && getView() == null){
            isActive = false;
        }else{
            isActive = true;
        }
    }
    

    And create this code in onCreateView() :

    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
      if(!isActive){
          init();
      }
    }
    

提交回复
热议问题