调用AsyncTask方法的问题

时间:2011-06-12 06:56:12

标签: android asynchronous android-asynctask

我正在尝试使用AsyncTask更新进度条 我的代码看起来像这样

private class ProgressBar extends AsyncTask<Void, Integer, Integer>
{
 protected Integer doInBackground(Void... params) 
 {
    int a=2;
    for(int i=0;i<=100;i=i+5)
    {
        SystemClock.sleep(1000);
        publishProgress(i);
    }
    return a;
 }

 protected void onProgressUpdate(Integer... item) 
 {
    //int no_of_argruments=item.length;
    tv.setText("Over !!"+item[0]);
    bar.setProgress(item[0]);
 }

protected void onPostExecute()
{
    if(result[0]!=null)
    {
        tv.setText("Hurray !!");
        Toast.makeText(checkThread.this, "Done!", Toast.LENGTH_SHORT)
        .show();
    }
}

但是在doInBackground()的完成时,我的onPostExecute()没有被调用,进度条只挂起它的最终值。

如何调用onPostExecute()方法?

1 个答案:

答案 0 :(得分:0)

这是postExecute()

的正确签名
protected void onPostExecute (Result result)

您的方法是AsyncTask不了解的方法。