Почему runOnUiThread внутри onEvent и onEventMainThread не делают одно и то же?
@Subscribe
public void onEvent(TestEvent event) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//accessing variables that were initialized earlier in main UI thread
}
});
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(TestEvent event) {
//accessing variables that were initialized earlier in main UI thread
}
Таким образом, изначально у меня был код, написанный как первый, где он был onEvent с runOnUiThread, и когда я обращался к переменным внутри runOnUiThread, которые были инициализированы ранее в основном потоке, он давал мне нулевые ссылки, и это меня явно запутало, потому что не runOnUiThread основной поток пользовательского интерфейса? Итак, я попробовал onEventMainThread, и он сделал то, что хотел. Ясно, что мое понимание в отношении запуска OnOnThread внутри onEvent() явно неверно, и я хотел бы, чтобы кто-то разрешил мою путаницу. Спасибо!