【发布时间】:2012-12-08 17:09:23
【问题描述】:
我有一个生成 pdf 文件的类。 这个类是由Activity扩展的,也就是说有onCreate、onPause(等等)方法。
生成 pdf 文件需要一些时间,因此我需要显示一个进度条来通知用户文件正在生成。
一切正常,当我单击生成按钮时,进度条会冻结几秒钟(根据 Logcat:文件生成时进度条冻结)。
所以我的问题是,我不知道如何在文件生成时使进度条无法停止。
下面是我的代码:
Log.i(TAG, "PDF generation: " + position);
final ProgressDialog dialog = new ProgressDialog(this);
dialog.setCancelable(true);
dialog.setIndeterminate(true);
dialog.setMessage("Generating...");
dialog.show();
new Thread(new Runnable() {
@Override
public void run() {
startActivity(new Intent(getApplicationContext(),
PdfGenerator.class));
runOnUiThread(new Runnable() {
@Override
public void run() {
dialog.hide();
}
});
}
}).start();
【问题讨论】:
标签: java android multithreading