public class Fragment01 extends Fragment{ private XListView xlistview; private int pageIndex=1; private int operType=1; private String myurl="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+pageIndex; private ArrayList<JsonData.DataBean> datas; private MyAdapter adapter; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment01, container, false); xlistview = view.findViewById(R.id.xlistview); //初始化 initXlv(); return view; } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); datas = new ArrayList<>(); //请求网络数据 requestNetData(); } private void requestNetData() { new MyAsyncTask().execute(myurl); } class MyAsyncTask extends AsyncTask<String,Void,String>{ @Override protected String doInBackground(String... strings) { RequestNetJson netJson = new RequestNetJson(); String json = netJson.getJson(strings[0]); return json; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); JsonData jsonData = gson.fromJson(s, JsonData.class); List<JsonData.DataBean> data = jsonData.getData(); if (operType==1){//代表刷新操作清空集合 datas.clear(); } //集合添加数据 datas.addAll(data); setAdapter(); if(operType==1){ //关闭头部刷新视图 xlistview.stopRefresh(); //上次刷新时间 Date date=new Date(System.currentTimeMillis()); SimpleDateFormat sdf=new SimpleDateFormat("MM-dd HH:mm:ss"); String time = sdf.format(date); xlistview.setRefreshTime(time); }else { //关闭底部加载视图 xlistview.stopLoadMore(); } } } //设置适配器 private void setAdapter(){ if(adapter==null){ adapter = new MyAdapter(getContext(), datas); xlistview.setAdapter(adapter); }else { adapter.notifyDataSetChanged(); } } private void initXlv() { xlistview.setPullLoadEnable(true);//上拉加载 xlistview.setPullRefreshEnable(true);//下拉刷新 //上下拉刷新回调接口 xlistview.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() {//刷新时回调 operType=1; pageIndex=1; myurl="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+pageIndex; requestNetData(); } @Override public void onLoadMore() {//加载更多时回调 operType=2; pageIndex++; myurl="http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page="+pageIndex; requestNetData(); } }); } }