//viewpager+fragment联网加载数据无显示以及预加载问题解决
1.用此方法控制请求网络的方法 但第一个fragment还是无法显示
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
((DataFragmentOne) listfragment.get(position)).loadDataFromNet();
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
2.fragment中onCreatView方法用 getUserVisibleHint()方法判断是否是显示的fragment ,是的话加载网络
解决第一个fragment无法显示的问题
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.data_fragment_one, container, false);
unbinder = ButterKnife.bind(this, view);
mHeightSelectView = new HeightSelectView(getActivity());
headViewContaner.addView(mHeightSelectView);
initData();
if(getUserVisibleHint()) {
loadDataFromNet();
}
return view;
}
3.加载网络
public void loadDataFromNet() {
webView.loadUrl(url_webView);//加载url
}
4.解决viewpager中fragment和mainAcitvity之间跳转 viewpager中第二个fragment加载不出的问题 让adapter刷新一下
@Override
public void onResume() {
super.onResume();
if(adapter != null) {
adapter.notifyDataSetChanged();
}
}