您的位置:首页 > 移动开发 > Android开发

Android 异步任务

2014-01-10 15:35 369 查看
一、系统自带的
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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: