What context Should be Use in setUserVisibleHint Method

大憨熊 提交于 2019-12-10 10:08:37

问题


Because All fragment loaded with together In Pager Sliding tab , I need to use setUserVisibleHint() for laoding that fragment selected . I have Problem with Context in the setUserVisibleHint() method : It raised NPE Exception when I use getActivity for my Context. Thanks


回答1:


Because getActivity will return null before fragment attached to Activity you need check this value will null or check fragment attached to activity or after onActivityActtached function.

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (getActivity() != null) {
       //do something
    }
} 

//or 
 boolean isAttached = false;
 @Override
    public void onViewCreated(View view, Bundle savedInstanceState) {
        isAttached = true;
    }

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isAttached) {
       //do something
    }
} 



回答2:


Its better to use newInstance Method and put your String over there. And then in fragment use

getArguments().getString("KEY")


来源:https://stackoverflow.com/questions/37523223/what-context-should-be-use-in-setuservisiblehint-method

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!