Я работаю с библиотекой, странно спроектированной, этот код в основном имеет объект Task
с onComplete()
и onfail()
методами, оба эти метода недействительны, поэтому я не могу использовать return внутри них.
Я пытался использовать внешнюю переменную, обновленную внутри задачи onComplete()
и onfail()
, используя
mytask.wait();
return value;
с намерением дождаться завершения задачи и затем вернуть значение, но я получаю
java.lang.IllegalMonitorStateException: object not locked by thread before wait()
если я попробую что-то вроде
while(!mytask.isComplete(){}
, чтобы заставить метод ждать завершения
приложение полностью зависнет
Как я могу получить значение призавершение задания правильно?