用到的只有不过10左右代码 如下 :
public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { XListView xlist; List<Newslist> data = new ArrayList<Newslist>(); private int aa = 1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //XListView 控件 xlist = (XListView) findViewById(R.id.xlist); //调用解析数据的方法 Shua();//允许上拉加载 xlist.setPullLoadEnable(true); //允许下拉刷新 xlist.setPullRefreshEnable(true); //在当前页面的监听 xlist.setXListViewListener(MainActivity.this);}
//定义一个方法 里面写解析的代码 public void Shua() { //使用异步 来解析 AsyncTask此方法和Hander显示 不过是轻量级的
new AsyncTask<String, Integer, String>() {
//实现俩个方法doInBackground () 和onPostExecute()
@Override protected String doInBackground (String...strings){ String str = ""; try { //获取连接 URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=" + aa); HttpURLConnection conne = (HttpURLConnection) url.openConnection(); conne.setReadTimeout(5000); conne.setConnectTimeout(5000); int responseCode = conne.getResponseCode(); if (responseCode == 200) { InputStream in = conne.getInputStream(); byte[] by = new byte[1024]; int len = 0; while ((len = in.read(by)) != -1) { str += new String(by, 0, len); } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return str; } //实现俩个方法doInBackground () 和onPostExecute() @Override protected void onPostExecute (String s){ //使用Gson解析 Gson gson = new Gson(); JsonRootBean j = gson.fromJson(s, JsonRootBean.class); data = j.getNewslist(); //设置适配器 Myadpader myadpader = new Myadpader(data, MainActivity.this); xlist.setAdapter(myadpader); super.onPostExecute(s); } }.execute(); } } } }
//==========================================重要的在这里============================================ //实现的俩个方法 onRefresh() 和 onLoadMore() @Override public void onRefresh() { data.clear(); //调用解析数据的方法 Shua(); xlist.setRefreshTime("刚刚"); //停止刷新 xlist.stopRefresh(); } @Override public void onLoadMore() { aa++; //调用解析数据的方法 Shua(); //停止加载 xlist.stopLoadMore(); } }
需要添加(依赖)