开发者

Android fragments hide show OnHide/OnShow?

开发者 https://www.devze.com 2023-03-28 01:10 出处:网络
I am asking this cuz I am sort of curious. 1 ) Most google demosfinds fragments by its ID if the fragment is already been created in xml.

I am asking this cuz I am sort of curious.

1 ) Most google demos finds fragments by its ID if the fragment is already been created in xml.

So if we take that approach, the way we show fragments is by hiding it and showing it since the fragments are already created.

2) There are also examples provided by google where you can create the fragment with a constructor and inflate it. This acts weird by the way like getActivity() returns null if it is called with in that fragment.

So If i take the first approach I have to hide and show the fragments. So why does not google provide hooks to the fragments like o开发者_如何学CnHide or onShow so that we can handle things properly instead if doing the clean up ourselves with functions that we implement and call explicitly.


If you want to hook op on onHide/onShow just override

public void onHiddenChanged(boolean hidden) {
}

in your fragment.


By Overrinde setUserVisibleHint you can easily track it.

  @Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if(isVisibleToUser){
      //When fragment is visible
    }
    Log.i("my_fragment","setUserVisibleHint: "+isVisibleToUser);
}


I override the function below to determine whether a fragment is shown or hidden.

@Override public void setMenuVisibility(final boolean visible)

0

精彩评论

暂无评论...
验证码 换一张
取 消