一、系统自带的
listview.setonRefreshListener(new
OnRefreshListener() {// 设置刷新监听
public
void onRefresh()
{
new AsyncTask()
{
protected Void doInBackground(Void... params)
{
SystemClock.sleep(1000);
data.add("刷新后添加的内容");
return
null;
}
@Override
protected
void onPostExecute(Void result)
{
adapter.notifyDataSetChanged();
listview.onRefreshComplete();
}
}.execute(null);
}
});
二、自定义的异步任务
1.定义异步任务工具类
public
abstract class MyAsyncTask {
private Handler handler = new
Handler(){
public void
handleMessage(android.os.Message msg) {
onPostExecute();
};
};
public abstract void
onPreExecute(); //后台任务执行之前提示用户的界面操作.
public abstract
void onPostExecute(); //后台任务执行之后 更新界面的操作
public abstract
void doInBackground(); //在后台执行的一个耗时的操作.
public void
execute(){
onPreExecute(); //
耗时任务执行之前通知界面更新
new Thread(){
public void
run() {
doInBackground();
handler.sendEmptyMessage(0);
};
}.start();
}
}
2.使用异步任务工具类
new MyAsyncTask()
{
@Override
public void onPreExecute()
{
}
@Override
public void onPostExecute()
{
adapter.notifyDataSetChanged();
listview.onRefreshComplete();
}
@Override
public void doInBackground()
{
SystemClock.sleep(1000);
data.add("刷新后添加的内容");
return null;
}
};