0

Androidで作業しているときに、非同期タスクでプログレスバーを表示しようとするとエラーが発生します。太線にエラーがあります。可変コンテキストはアプリのコンテキストです、私は確信しています。ここにコードがあります:

パブリッククラス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()UIを、、、onProgressUpdate()またはから更新してくださいonPostExecute()

于 2012-04-10T19:37:57.710 に答える