使用一个xlistview的mod,可自行在网络下载
把mod关联一下
代码:
public class Frag_XListView extends Fragment {
private XListView xListView;
private boolean work;
private List<JsonBean.DataBean> data;
private String str="http://api.expoon.com/AppNews/getNewsList/type/1/p/1";
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag_xlistview, container, false);
work = HttpUtils.isWork(getActivity());
xListView = view.findViewById(R.id.frag_xlistview);
//开启上拉
xListView.setPullLoadEnable(true);
xListView.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
//下拉刷新
if(work){
HttpUtils.httpAsynTask(str, new HttpUtils.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
data= jsonBean.getData();
xListView.setAdapter(new MyAdapter(getActivity(),data));
onLoad();
}
});
}else{
Toast.makeText(getContext(),"没有网络了",Toast.LENGTH_LONG).show();;
}
}
@Override
public void onLoadMore() {
//缓存
//下拉
if(work){
HttpUtils.httpAsynTask(str, new HttpUtils.CallBackString() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
data= jsonBean.getData();
xListView.setAdapter(new MyAdapter(getActivity(),data));
onLoad();
data.addAll(data);
new MyAdapter(getActivity(),data).notifyDataSetChanged();
}
});
}else{
Toast.makeText(getContext(),"没有网络了",Toast.LENGTH_LONG).show();;
}
}
});
// if(work){
// HttpUtils.httpAsynTask(str, new HttpUtils.CallBackString() {
// @Override
// public void getData(String s) {
// Gson gson = new Gson();
// JsonBean jsonBean = gson.fromJson(s, JsonBean.class);
// data= jsonBean.getData();
// xListView.setAdapter(new MyAdapter(getActivity(),data));
// }
// });
// }
return view;
}
private void onLoad() {
//停止加载更多,重置头视图
xListView.stopRefresh();
//停止加载更多,重置脚视图
xListView.stopLoadMore();
//设置刷新时间
xListView.setRefreshTime("刚刚刷新了");
}
}