【发布时间】:2012-01-18 06:02:05
【问题描述】:
我需要解析一个xml文件,大约需要3秒,完成后立即使用从xml文件中解析出来的数据。但是,由于它需要大约 3 秒才能完成,我不只是希望屏幕坐下来等待 3 秒什么都不显示。我希望它显示一个 ProgressDialog。我已经尝试了这些线程中的所有内容,虽然大多数都做 2 / 3,但似乎没有人能做到全部 3。
基本上我有一个按钮,当按下时,我想解析 xml 文件,然后使用从文件中解析的数据:
void onButtonClicked() {
ProgressDialog pd = new ProgressDialog(this);
pd.setMessage("Parsing...");
pd.show();
String[] ret;
return = parseXmlFile();
pd.dismiss();
if (ret[0] == "steve") {
sayHiToSteve();
}
}
如果我使用 asyncTask,它将继续执行并在任务完成之前检查 ret[0] 并且将只是 null。 如果我执行 AsyncTask.get(),它会暂停执行但不显示进度对话框,所以这也不好。
我也考虑过创建一个单独的线程,但我遇到了同样的问题。我不能使用计时器,因为它大约是 3 秒(但如果连接速度很慢,最多可以达到 4 或 5 秒),所以我无法估算。
非常感谢任何帮助。 提前致谢。
【问题讨论】:
标签: java android xml android-asynctask