1、首先需要一个上拉下刷的框架,我这里用的是
放到项目中
点击Add 添加即可,这样就成功的把框架应用到项目中去了。
2、布局xml
<com.handmark.pulltorefresh.library.PullToRefreshListView
android:id="@+id/main_lv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
/>
3、Acitivity代码编写
listview.setOnRefreshListener(new OnRefreshListener<ListView>(){
@Override
public void onRefresh(PullToRefreshBase<ListView> refreshView) {
if(refreshView.isHeaderShown()){//下拉刷新监听器
updateTime(refreshView);// 加入时间,就是上拉下拉的时候显示时间
startConnNet();//处理的事情,比如重新获取数据并刷新适配器
}else{
updateTime(refreshView);
}
}
private void startConnNet() {
new Thread(new Runnable() {
@Override
public void run() {
mlist.clear();
new postAnsytask().execute(MyApplication.mainip);
Message message = new Message();
message.what =SHOW_RESPONSE;
// 将服务器返回的结果存放到Message 中
message.obj = mlist;
handler.sendMessage(message);
}
}).start();
}
private Handler handler=new Handler(){
public void handleMessage(Message msg){
switch (msg.what) {
case SHOW_RESPONSE:
mlist=(List<Map<String, String>>) msg.obj;
//更新数据
adapter.setDatas(mlist);
adapter.notifyDataSetChanged();
listview.onRefreshComplete();//刷新完成
break;
default:
break;
}
};
};