私は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();