我正在尝试通过更改 totalWork 创建 ProgressMonitor。让我们假设我有 2 个步骤。第一步是检索对象列表。总工作量=-1(未知)。
在第二步中,我更改了 lisl 中的每个对象。所以我想将 totalWork 更改为列表的大小。我已经尝试过类似下面的代码,但它没有工作:
int totalWork = -1
monitor.beginTask("Task", totalWork);
monitor.subTask("Start Subtask 1");
final List<Object> list = retrieveList();
totalWork = list.size();
monitor.subTask("Retrieve Events");
for(Object obj:list){
//do some job
monitor.worked(1)
}
monitor.done()
有没有办法做到这一点?
编辑:我正在扩展 Job 并且上面的代码在 run 方法中。