您的位置:首页 > 产品设计 > UI/UE

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

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

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

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

private boolean isVisible,viewIsOk = false;

@Override
public 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;
}

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
isVisible = isVisibleToUser;

// 当fragment可见时,阻止View滑动到底部
if (isVisible && viewIsOk){
BaseDao.scrollViewToBottom(fBusineesPollingScrollview);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: