// 第一步:得到控件
final PullToRefreshListView mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
/**第二步:设置刷新方式
* 设置刷新的模式:常用的有三种
* PullToRefreshBase.Mode.BOTH //上下拉刷新都可以
* PullToRefreshBase.Mode.PULL_FROM_START //只允许下拉刷新
* PullToRefreshBase.Mode.PULL_FROM_END //只允许上拉刷新
*
*/
mPullRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
// 第三步:设置是否允许刷新的时候可以滑动()
mPullRefreshListView.setScrollingWhileRefreshingEnabled(true);
//第四步:数据
final String str = "http://www.xieast.com/api/news/news.php?page=1";
HttpUtils.httpAsynTask(str, new HttpUtils.CallBackString() {
@Override
public void getData(String s) {
//解析
Gson gson = new Gson();
JavaBean bean = gson.fromJson(s, JavaBean.class);
list = bean.getData();
//第五步:设置适配器
adapter = new MyAdapter(MainActivity.this, list);
mPullRefreshListView.setAdapter(adapter);
}
});
//第六步:监听事件
mPullRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
//下拉刷新
HttpUtils.httpAsynTask(str, new HttpUtils.CallBackString() {
@Override
public void getData(String s) {
//解析
Gson gson = new Gson();
JavaBean bean = gson.fromJson(s, JavaBean.class);
list = bean.getData();
//设置适配器
adapter = new MyAdapter(MainActivity.this, list);
mPullRefreshListView.setAdapter(adapter);
mPullRefreshListView.onRefreshComplete();
}
});
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
//上拉加载
HttpUtils.httpAsynTask(str, new HttpUtils.CallBackString() {
@Override
public void getData(String s) {
//解析
Gson gson = new Gson();
JavaBean bean = gson.fromJson(s, JavaBean.class);
List<JavaBean.DataBean> beans = bean.getData();
///把查询到的新数据添加到集合中
list.addAll(beans);
//刷新适配器
adapter.notifyDataSetChanged();
// 当列表被刷新时,调用onRefreshComplete
mPullRefreshListView.onRefreshComplete();
}
});
}
});
PullToRefresh使用方法
最新推荐文章于 2024-07-16 13:50:29 发布