Android在asyncTask之前显示进度对话框

时间:2014-05-14 18:51:48

标签: android android-asynctask progressdialog

这么简单,但我遇到了很大的问题。

编辑:我希望我的ProgressDialog在其他类运行时运行 - 不要在asyncTask中调用,因为有多个asyncTasks被调用。

我的主要活动(索引)调用另一个类aTask,它调用AsyncTask从Yelp中获取一些数据。当aTask返回数据时,index会启动一个新活动。

我希望索引在aTask运行时显示进度对话框。所以我使用here的答案在索引中放置一个进度对话框。

但是,进度条仅在aTask结束后显示,这完全违背了目的。

以下是代码:

        mButton.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            ProgressDialog.show(IndexActivity.this, "Loading", "Wait while loading...");
            ATask at = new ATask(preferencesMap, IndexActivity.this);

            final ArrayList<Business> locations = at.getLocations();

            Intent intent = new Intent(IndexActivity.this, BTask.class);
            intent.putExtra("EXTRA_DIRECTIONS_STEPS", locations);
            intent.putExtra("EXTRA_MAP_LOCATIONS", locations);
            startActivity(intent);
        }
    });

2 个答案:

答案 0 :(得分:0)

大多数工作是将Progress Dialog添加到真正的异步任务而不是某些同步任务。您的计算机需要时间来执行Progress Dialog脚本,如果任务不在线程或其他Async事件中,则不能。在SO上查看其他问题并始终有一个主题。

答案 1 :(得分:0)

This应该是明确的答案,至少在我的情况下。

易于实现,即使您正在调用asyncTasks等也能正常工作