启动从AlertDialog(安卓)长时间运行的任务
问题描述:
我有一个AlertDialog在和它有一个按钮,如果选中,将启动文件上传到这样的远程服务器:启动从AlertDialog(安卓)长时间运行的任务
builder.setMessage(text)
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
uploadFile();
}})
这工作正常,唯一的问题是uploadFile()可能需要很长时间(30秒到2分钟)。我想用进度对话框(甚至是不确定的)替换AlertDialog,但我看不到如何从另一个对话框启动一个对话框?
任何人都可以提供一些建议,我可以做到这一点。
感谢, Jarabek
答
您可以使用AsyncTask
这里,让您的ProgressDialog
上PreExecute()
并呼吁在doingInBackground()
方法和罢免ProgressDialog在PostExecute().
private class MyAsyncTask extends AsyncTask<Void, Void, Void>
{
ProgressDialog mProgressDialog;
@Override
protected void onPostExecute(Void result) {
mProgressDialog.dismiss();
}
@Override
protected void onPreExecute() {
mProgressDialog = ProgressDialog.show(ActivityName.this, "Loading...", "Data is Loading...");
}
@Override
protected Void doInBackground(Void... params) {
uploadFile();
return null;
}
}
然后,只需调用MyAsyncTask
使用new MyAsyncTask().execute();
这正是我所期待的。谢谢。 – jarabek 2011-12-15 17:30:47