gpt4 book ai didi

android - ProgressDialog 没有出现在 onProgressUpdate 方法中

转载 作者:行者123 更新时间:2023-11-29 15:43:25 26 4
gpt4 key购买 nike

在 Asyntask 中,我在 Asyntask 的全局变量中实例化了一个进度对话框:

ProgressDialog progressDialog;

然后,在 DoInBackGround 中,我调用“publishProgress”,因此调用了 onProgressUpdate。在 onProgressUpdate 中,我有以下代码:

this.progressDialog=new ProgressDialog(mActivity);
this.progressDialog.setCancelable(true);
this.progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
this.progressDialog.setTitle("Iniciando la comunicación");
this.progressDialog.show();

我不知道为什么,从未显示 progressDialog。我尝试在相同的上下文中使用 Toast,并且效果很好。虽然 progressDialog 没有。

--------更新----------------

最后,我通过通知解决了这个问题。

最佳答案

像这样组织你的AsyncTask

private class YourTask extends AsyncTask<String, String, String> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
...
// show the dialog
this.progressDialog=new ProgressDialog(mActivity);
this.progressDialog.setCancelable(true);
this.progressDialog.setProgressStyle(ProgressDialog. STYLE_HORIZONTAL);
//this.progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
this.progressDialog.setTitle("Iniciando la comunicación");
this.progressDialog.show();
}

@Override
protected String doInBackground(String... urls) {

...
publishProgress("" + progress);
...
}

protected void onProgressUpdate(String... progress) {
progressDialog.setProgress(Integer.parseInt(progress[0]));
}

@Override
protected void onPostExecute(String result) {
// dismiss the dialog
progressDialog.dismiss();
...
}
}

您还想在 AsyncTask 运行时公开进度,因此您需要一个 STYLE_HORIZONTAL ProgressBar 而不是 STYLE_SPINNER 进度条

希望对你有帮助

关于android - ProgressDialog 没有出现在 onProgressUpdate 方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36861381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com