ファイル操作を行う一連の API があります。saveToFile(CustomObject objectToSave);
ファイル操作には時間がかかる可能性があるため、プログレス バーなどの何らかの表示をユーザーに表示することにしました。
aについて読んだProgressMonitorDialog
ので試してみましたが、必要なとおりに機能しません(または、適切に使用する方法がわかりません)。
現在私は:
ProgressMonitorDialog progressDialog = new ProgressMonitorDialog(theShell);
try {
progressDialog.run(false, true, new IRunnableWithProgress() {
@Override
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
monitor.beginTask("Saving your data", 100);
try {
Utils.saveToFile(objectToSave);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
monitor.done();
}
});
このコードは進行状況ダイアログを非常に速く表示して終了しますが、問題は、遅い PC ではこれがUtils.saveToFile
返されるまでスタックし、保存が完了するまで中間プロセスを示す方法がわかりません。
について言及しているスレッドを見つけましたIProgressMonitor.UNKNOWN
がmonitor
、performRead(_fileName, monitor);
どうすればこれを解決できますか?