package com.example.liangjinzi20190218.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;
import com.example.liangjinzi20190218.JsonBean;
import com.example.liangjinzi20190218.R;
import com.example.liangjinzi20190218.Util;
import com.example.liangjinzi20190218.XAdapter;
import com.google.gson.Gson;
import com.qy.xlistview.XListView;
import java.util.List;
public class Frag01 extends Fragment {
private XListView xlist;
private String url = "https://www.apiopen.top/meituApi?page=1";
private XAdapter adapter;
private List<JsonBean.DataBean> list;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.frag01, container, false);
// 找控件
xlist = view.findViewById(R.id.xlist);
xlist.setPullLoadEnable(true);
// 设置上拉和下拉
xlist.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
Util.getAsyncTask(url, new Util.CallBackA() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean bean = gson.fromJson(s, JsonBean.class);
List<JsonBean.DataBean> list = bean.getData();
// 适配器
XAdapter adapter = new XAdapter(list, getActivity());
xlist.setAdapter(adapter);
xlist.stopRefresh();
}
});
}
下拉加载
@Override
public void onLoadMore() {
Util.getAsyncTask(url, new Util.CallBackA() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean bean = gson.fromJson(s, JsonBean.class);
List<JsonBean.DataBean> list2 = bean.getData();
list.addAll(list2);
adapter.notifyDataSetChanged();
xlist.stopLoadMore();
}
});
}
});
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// 请求数据
Util.getAsyncTask(url, new Util.CallBackA() {
@Override
public void getData(String s) {
Gson gson = new Gson();
JsonBean bean = gson.fromJson(s, JsonBean.class);
list = bean.getData();
// 适配器
adapter = new XAdapter(list, getActivity());
xlist.setAdapter(adapter);
}
});
}
}