我正在开发应用程序以从 Internet 接收一些数据,同时接收我想要显示“进度对话框”的数据。我在我的应用程序中使用了“AsyncTask”。
问题是如何使用它以及如何显示 100% 之类的百分比?
请给我建议并给我一些例子。谢谢你,对不起我的英语。
我正在开发应用程序以从 Internet 接收一些数据,同时接收我想要显示“进度对话框”的数据。我在我的应用程序中使用了“AsyncTask”。
问题是如何使用它以及如何显示 100% 之类的百分比?
请给我建议并给我一些例子。谢谢你,对不起我的英语。
要显示 prgress 对话框,您可以使用以下代码
ProgressDialog dialog = new ProgressDialog(MainActivity.this);
dialog.setMessage("Your message..");
dialog.show();
在你调用异步任务之前,即之前new YourTask.execute().
并且在 asynctask 的 onPostExecute 函数中可以使用
dialog.dismiss();
关闭对话框。
您可以使用休闲方法:
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();
}
希望它对你们所有人都有效。