package com.example.lx2; import android.os.AsyncTask; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import com.bawei.jane.mxlistview.view.XListView; import com.google.gson.Gson; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.List; public class MainActivity extends AppCompatActivity { private XListView XlistView; private int pageIndex = 1; private int operType = 1; private String murl = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=" + pageIndex; private List<UserBean.DataBean> datas; private MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); XlistView = findViewById(R.id.lv); datas = new ArrayList<>(); //初始化,, initXlv(); //请求网络数据 NetData(); } private void NetData() { MyTask task = new MyTask(); task.execute(murl); } class MyTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { try { URL url = new URL(strings[0]); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestMethod("GET"); urlConnection.setReadTimeout(5000); urlConnection.setConnectTimeout(5000); if (urlConnection.getResponseCode() == 200) { InputStream inputStream = urlConnection.getInputStream(); String s = stringTo(inputStream); return s; } } catch (Exception e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); UserBean userBean = gson.fromJson(s, UserBean.class); List<UserBean.DataBean> item = userBean.getData(); if (operType == 1) { datas.clear(); } datas.addAll(item); XlvAdapter(); if (operType == 1) { XlistView.stopRefresh(); Date date = new Date(System.currentTimeMillis()); SimpleDateFormat format = new SimpleDateFormat("MM-dd HH:mm:ss"); String time = format.format(date); XlistView.setRefreshTime(time); } else { XlistView.stopLoadMore(); } } } private void XlvAdapter() { if (adapter == null) { adapter = new MyAdapter(datas, MainActivity.this); XlistView.setAdapter(adapter); } else { adapter.notifyDataSetChanged(); } } private String stringTo(InputStream stream) { StringBuilder builder = new StringBuilder(); String str; BufferedReader reader = new BufferedReader(new InputStreamReader(stream)); try { while ((str = reader.readLine()) != null) { builder.append(str); } } catch (Exception e) { e.printStackTrace(); } return builder.toString(); } private void initXlv() { XlistView.setPullRefreshEnable(true); XlistView.setPullLoadEnable(true); XlistView.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { operType = 1; pageIndex = 1; murl = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=" + pageIndex; NetData(); } @Override public void onLoadMore() { operType = 2; pageIndex++; murl = "http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=" + pageIndex; NetData(); } }); } }
XlistView
最新推荐文章于 2018-10-12 20:11:02 发布