6

我正在开发应用程序以从 Internet 接收一些数据,同时接收我想要显示“进度对话框”的数据。我在我的应用程序中使用了“AsyncTask”

问题是如何使用它以及如何显示 100% 之类的百分比?

请给我建议并给我一些例子。谢谢你,对不起我的英语。

4

2 回答 2

28

要显示 prgress 对话框,您可以使用以下代码

 ProgressDialog dialog = new ProgressDialog(MainActivity.this);
                dialog.setMessage("Your message..");
                dialog.show();

在你调用异步任务之前,即之前new YourTask.execute().

并且在 asynctask 的 onPostExecute 函数中可以使用

 dialog.dismiss();

关闭对话框。

于 2013-07-08T03:50:00.277 回答
2

您可以使用休闲方法:

public void launchBarDialog(View view) {
    barProgressDialog = new ProgressDialog(MainActivity.this);

    barProgressDialog.setTitle("Downloading Image ...");
    barProgressDialog.setMessage("Download in progress ...");
    barProgressDialog.setProgressStyle(barProgressDialog.STYLE_HORIZONTAL);
    barProgressDialog.setProgress(0);
    barProgressDialog.setMax(20);//In this part you can set the  MAX value of data
    barProgressDialog.show();

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {

                // Here you should write your time consuming task...
                while (barProgressDialog.getProgress() <= barProgressDialog.getMax()) {

                    Thread.sleep(2000);

                    updateBarHandler.post(new Runnable() {

                        public void run() {

                            barProgressDialog.incrementProgressBy(1);//At this, you can put how many data is downloading by a time
                                                                     //And with the porcentage it is in progress
                        }

                    });

                    if (barProgressDialog.getProgress() == barProgressDialog.getMax()) {

                        barProgressDialog.dismiss();

                    }
                }
            } catch (Exception e) {
            }
        }
    }).start();
}

希望它对你们所有人都有效。

于 2015-08-07T14:53:27.297 回答