1,首先先导入依赖xlistviewlibrary
需要用到的控件
<com.bwie.******.xlistviewlibrary.view.XListView
android:id="@+id/xlv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
//获取解析网络的地址的不同
getNetData(0);
xListView.setPullLoadEnable(true); // 允许上拉加载更多;
xListView.setXListViewListener(new XListView.IXListViewListener() {
/**
* 下拉---刷新
*/
@Override
public void onRefresh() {
list.clear(); //清空集合
getNetData(0);// 请求第0页,也就是服务器最新的一页数据;
page=0; // 把page置0;
}
/**
* 上拉 --- 加载更多
*/
@Override
public void onLoadMore() {
page++;
getNetData(page);
}
});
}
/**
* 请求网络
* 先定义一个 int page=0;
*/
private void getNetData(int page) {
//baseUrl = http://api.expoon.com/AppNews/getNewsList/type/1/p/
// 拼接后 = http://api.expoon.com/AppNews/getNewsList/type/1/p/3
new MAsyncTask().execute(baseUrl+page);.
private class MAsyncTask extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... strings) {
return NetWordUtils.getNetjson(strings[0]);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
Goods goods = gson.fromJson(s, Goods.class);
List<Goods.DataBean> dataTemp = goods.getData();
list.addAll(dataTemp);
//更新适配器
mAdapter.notifyDataSetChanged();
//让刷新头和刷新底部 消失;
uiComplete();
}
}
private void uiComplete() {
xListView.stopRefresh();
xListView.stopLoadMore();
/***/
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy--MM-dd HH:MM:SS E");
String format = simpleDateFormat.format(new Date());
//获取上次刷新的时间
xListView.setRefreshTime("fromt");
}