多个fragment 中使用setUserVisibleHint方法做UI判断的时候出现空指针的解决方法

来源:互联网 发布:淘宝宏鑫数码通讯 编辑:程序博客网 时间:2024/06/04 01:21

在项目中需要做一个fragment可见的判断,当然想到了上面的方法setUserVisibleHint();但是出现了空指针的问题,就是ui找不到;

后面自己打印log日志发现,setUserVisibleHint()方法优先于onCreatView方法,就更别说绑定控件了;

然后做了一个小的调整,问题解决


private boolean isVisible,viewIsOk = false;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {    // TODO: inflate a fragment view    View rootView = super.onCreateView(inflater, container, savedInstanceState);    ButterKnife.bind(this, rootView);    viewIsOk = true;    return rootView;}@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) {    super.setUserVisibleHint(isVisibleToUser);     isVisible = isVisibleToUser;    // fragment可见时,阻止View滑动到底部    if (isVisible && viewIsOk){        BaseDao.scrollViewToBottom(fBusineesPollingScrollview);    }}

阅读全文
0 0
原创粉丝点击