Моей проблемы: Когда я отладка коды, как например .:Ожидания пользовательского интерфейса Работы в конце (Android)
someSpinner.setSelection (0); someEditText.setEnabled (true);
тогда я вижу, что первое действие фактически выполняется ПОСЛЕ второго. Я предполагаю, что действие spinner помещается в какое-то асинхронное задание, которое не начинается сразу. Моя цель - дождаться завершения первого действия, а затем запустить второе. Кто-нибудь знает, как это реализовать?
В Eclipse RCP я решала это похоже на следующее:
uiJob1.addJobChangeListener(new JobChangeAdapter() {
@Override
public void done(IJobChangeEvent event) {
if (event.getResult().isOK()) {
uiJob2.schedule();
} else {
...
}
}
});
// 2
uiJob2.addJobChangeListener(new JobChangeAdapter() {
@Override
public void done(IJobChangeEvent event) {
if (event.getResult().isOK()) {
...
} else {
...
}
}
});
uiJob1.schedule();
Вы думаете об этом не так. Но не могу сказать, что правильно, потому что вы не сказали ** почему ** и **, что вы пытаетесь сделать. Чтобы как-то дождаться завершения обновления пользовательского интерфейса, хотя это определенно недостаток дизайна в многопоточной среде asycnh OOP. – Simon