0

使用 Android 时,我尝试在异步任务中显示进度条时出错。我在粗线处有错误。我敢肯定,变量context是应用程序的上下文。这是代码:

公共类 UpdateDBTask 扩展 AsyncTask {

ProgressDialog progressDialogListFiles;
ProgressDialog progressDialogUpdateDB;

protected void onPreExecute () {
    progressDialogUpdateDB = new ProgressDialog(context);
    progressDialogUpdateDB.setIndeterminate(false);
    progressDialogUpdateDB.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    progressDialogUpdateDB.setMessage("Analyzing files...");
    progressDialogUpdateDB.setCancelable(false);
    progressDialogUpdateDB.setProgress(0);

    progressDialogListFiles = new ProgressDialog(context);
    progressDialogListFiles.setIndeterminate(true);
    progressDialogListFiles.setMessage("Listing files...");
    progressDialogUpdateDB.setCancelable(false);
}

protected Boolean doInBackground(String... paths) { 
    updateDB(paths);
    return true;
}

protected void updateDB(String[] paths) {

    /*.....*/
        **progressDialogListFiles.show();**
    /*...*/
}

}

你能帮助我吗?谢谢!

4

1 回答 1

0

您正在尝试从非 UI 线程更新 UI,即用于处理的线程doInBackground()onPreExecute()请从、onProgressUpdate()或更新您的用户界面onPostExecute()

于 2012-04-10T19:37:57.710 回答