0

通过删除阻塞调用解决了未显示的进度对话框。

我的目的是从互联网下载大量数据并让最终用户了解下载状态,但是我必须等待数据完成下载才能继续下一步,因此我必须阻止代码执行。

阻塞会导致进度对话框不显示或冻结。我需要提示以最佳方式执行这些任务。因为我的任务很简单,所以实现任务完成侦听器对我来说似乎有点矫枉过正,我想知道是否还有其他方法可以解决我的问题?

4

2 回答 2

1

你可以使用这个:

@Override
protected void onPreExecute() {

dialog= ProgressDialog.show(YourActivity.this, "", "MessageYouWantToDisplay");

}       


@Override
protected void onPostExecute(T result) {

dialog.dismiss();

}

您可以通过键入以下内容调用扩展 AsycTask 的类:

 new NameOFClass().execute();

首先尝试这个作为测试,然后在 doInBackground 方法中放置一个 Thread.sleep() 以了解它是如何工作的。然后在你的项目中使用你的真实方法、数据等。

于 2012-05-26T13:46:47.990 回答
0

试试这个:::

    @Override
    protected void onPreExecute() {
        dialog = new ProgressDialog(YourActivity.this);
        dialog.setMessage("Progress start");
        dialog.show();
        Log.d(TAG, "Showing dialog");
    }

    @Override
    protected void onPostExecute(T result) {
        dialog.dismiss();
        Log.d(TAG, "Dismissing dialog");
    }
于 2012-05-26T12:28:40.170 回答