gpt4 book ai didi

android - 进度对话框不会在 AsyncTask onProgressUpdate 上更新

转载 作者:搜寻专家 更新时间:2023-11-01 09:08:23 24 4
gpt4 key购买 nike

我正在开发 Android 3.1 及更高版本的应用程序。

我有这段代码可以下载一些 json 数据:

public class FormsListActivity extends ListActivity
{
private List<Form> mForms;

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.formlist);

FormListAsyncTask formAsyncTask = new FormListAsyncTask(this);
formAsyncTask.execute("http://192.168.1.128/RestServiceImpl.svc/forms/");
}

private class FormListAsyncTask extends AsyncTask<String, Integer, List<Form>> {

private Context mContext;
private ProgressDialog loadingDialog;

FormListAsyncTask(Context context)
{
mContext = context;
loadingDialog = new ProgressDialog(mContext);
loadingDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
loadingDialog.setMessage("Downloading. Please wait...");
loadingDialog.setCancelable(false);
loadingDialog.setMax(100);
loadingDialog.show();
}

@Override
protected List<Form> doInBackground(String... url)
{
Log.v("doInBackground", "retreiving forms");
return FormSpringController.LoadAll(url[0]);
}
// Just some example code to update your progress dialog
protected void onProgressUpdate(Integer... values)
{
Log.v("onProgressUpdate", "updating: " + ((int) ((values[0] / (float) values[1]) * 100)));
loadingDialog.setProgress((int) ((values[0] / (float) values[1]) * 100));
}

protected void onPostExecute(List<Form> forms)
{
if (forms != null)
{
ListActivity act = (ListActivity) mContext;
act.setListAdapter(new FormAdapter(act, R.layout.form_list_item, forms));
mForms = forms;
}
else
{
TextView errorMsg = (TextView)
((FormsListActivity) mContext).findViewById(R.id.formErrorMsg);
errorMsg.setText("Problem downloading forms. Please try again later.");
}
loadingDialog.dismiss();
}
}
}

为什么loadingDialog的进度没有在onProgressUpdate上更新?

最佳答案

我没有在您的代码中找到任何 publishProgress();

从您的 doInBackground() 调用 publishProgress() 隐式调用覆盖 onProgressUpdate()

关于android - 进度对话框不会在 AsyncTask onProgressUpdate 上更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10152443/

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