Java 进程对话框阻止

Java 进程对话框阻止,java,android,dialog,progressdialog,Java,Android,Dialog,Progressdialog,通过删除阻止调用,解决了未显示进度对话框的问题 我的目的是从internet下载大量数据,并让最终用户了解下载状态,但是我必须等待数据完成下载,以便继续下一步,因此我必须阻止代码执行 阻塞会导致进度对话框不显示或冻结。我需要一些技巧,以便以最佳方式执行这些任务。因为我的任务很简单,所以对我来说,实现任务完成侦听器似乎有些过火,我想知道是否有其他方法可以解决我的问题?试试这个:: @Override protected void onPreExecute() { d

通过删除阻止调用,解决了未显示进度对话框的问题

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

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

试试这个::

    @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");
    }
您可以使用以下选项:

@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(),以了解它是如何工作的。在这之后,在项目中使用真正的方法、数据等。

没有帮助:(使用整个taskremove super.onPreExecute();&super.onPostExecute(result);然后尝试解决问题..调用.get()结果我阻止了主线程继续。我应该实现完整的侦听器还是有更简单的方法阻止代码执行?