このクラスはフラグメントから呼び出されます。 On進行状況の更新が呼び出されますが、メッセージは更新されません。私は進行状況バーやスピナーも見ていない。タイトルとメッセージだけで、いくつかの同様の問題が見られましたが、プログレスバーがまったく表示されないところは何も見つかりませんでした。また、私のメッセージはonProgressUpdateでは一切更新されませんが、値を出力すると、onProgressUpdateの内部でインクリメントされます。進捗ダイアログで進行中のバーが表示されますが、メッセージが更新されません
編集:ここでは、私はクラス
private class DownloadFilesTask extends AsyncTask<String, Integer, Long> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute()
{
progressDialog = ProgressDialog.show(getActivity(), "Downloading","Downloaded 0/"+urls.size(), false);
progressDialog.setProgress(0);
progressDialog.setMax(urls.size());
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
}
@Override
protected Long doInBackground(String[] urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
//Do things in background here
publishProgress(new Integer[] {i});
}
return totalSize;
}
@Override
protected void onProgressUpdate(final Integer... progress) {
System.out.println(progress[0]); //This does print correctly
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
progressDialog.setProgress(progress[0]);
progressDialog.setMessage("Downloaded "+ progress[0] +"/"+urls.size());
}
});
}
@Override
protected void onPostExecute(Long result) {
progressDialog.dismiss();
Toast t = Toast.makeText(getActivity(), "Downloaded", Toast.LENGTH_LONG);
t.show();
}
}
どのようにタスクを開始しましたか、コードを示してください。 – starkshang
私はそれを開始する方法を示すためにそれを編集しました。それはあなたがタスクを開始する一般的な方法であり、私はそれを含まなかったのです。それはまったく役に立ちますか? – Zach