您的位置:首页 > 其它

AsyncTask

2015-09-21 09:58 260 查看
继承AsyncTask重写个方法:

public class backTask extends android.os.AsyncTask<String, Integer, String>{
ProgressDialog pDialog;
public backTask() {
// TODO Auto-generated constructor stub
}
<span style="white-space:pre">		</span><span style="color:#33cc00;background-color: rgb(255, 255, 255);">//要在后台执行的语句</span>
@Override
protected String <span style="background-color: rgb(255, 204, 0);">doInBackground</span>(String... params) {
new Thread(new Runnable() {

@Override
public void run() {
int i = 0;
while(i<102){
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
publishProgress(i);
i++;
}

}
}).run();;
return null;
}
<span style="white-space:pre">		</span><span style="color:#33cc00;">//当后台调用<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px;">publishProgress()方法时触发该方法</span></span>

@Override
protected void <span style="background-color: rgb(255, 153, 0);">onProgressUpdate</span>(Integer... values) {
pDialog.setProgress(values[0]);
if(values[0] == pDialog.getMax()){
pDialog.hide();
}
}
<span style="color:#33cc00;">//在执行Doinbackground前执行该方法</span>
@Override
protected void onPreExecute() {
pDialog = new ProgressDialog(context);
pDialog.setMessage("Downloading...");
pDialog.setCancelable(false);
pDialog.setMax(100);
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pDialog.setIndeterminate(false);
pDialog.show();

super.onPreExecute();
}
<pre name="code" class="java"><span style="white-space:pre">		</span><span style="color:#33cc00;">//在执行Doinbackground完成后执行该方法</span>
@Overrideprotected void
onPostExecute(String result) {// TODO Auto-generated method stubsuper.onPostExecute(result);}}

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: