在项目中需要做一个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); } }