package com.jereh.jinritoutiao.fragmentdemo.fragment;
import android.support.v4.app.Fragment;
/**
* Created by zhangdi on 2016/8/8.
*/
public abstract class BaseFragment extends Fragment {
protected boolean isVisible = false;
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser){
//加载数据
isVisible = true;
lazyInitData();
}else {
isVisible = false;
}
}
public abstract void lazyInitData();
}
/**
* A simple {@link Fragment} subclass.
*/
public class NetNewsFragment extends BaseFragment {
//定义一个全局变量用来保存Fragment的状态
private View v;
//listview展示的数据
private List<NetNews> mData;
private PullToRefreshListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String u= getArguments().getString("api");
if(!TextUtils.isEmpty(u)){
url = u;
}
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
if(v==null) {
//将布局关联起来
v = inflater.inflate(R.layout.fragment_net_news, container, false);
//找到ViewPage
lv = (PullToRefreshListView) v.findViewById(R.id.lv01);
mData = new ArrayList<>();
//初始化适配器
adapter = new NetNewsAdapter(mData, getActivity());
lv.setAdapter(adapter);
//界面已经准备完毕
isPrepared = true;
(new android.os.Handler()).postDelayed(new Runnable() {
@Override
public void run() {
lazyInitData();
}
},200);
}
return v;
}
/**
* 初始化Fragment数据的方法,实现懒加载
*/
@Override
public void lazyInitData() {
if (isPrepared&&isVisible&&isFirst){
lv.setRefreshing();
VolleyUtil.get(url+"?num=20&page="+page)
.setCallBack(new NetCallBack())
.build()
.addRequestHeader("apikey", Constants.API_KEY)
.start();
isFirst = false;
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有