Вернуть значение из асинхронного вызова метода run
У меня есть метод, который должен возвращать логическое значение. У метода есть асинхронный вызов метода run. В методе запуска я должен установить переменную в методе включения. ниже мой код.
private boolean isTrue() {
boolean userAnswer;
Display.getDefault().asyncExec(new Runnable() {
public void run() {
userAnswer = MessageDialog.openQuestion(new Shell(), "some message", "some question?");
}
});
return userAnswer;
}
Этот код выдает ошибку - «userAnswer» должен быть окончательным, и если я сделаю его окончательным, я не могу присвоить ему значение. Пожалуйста, предложите способ справиться с этим сценарием.