저는 Eventbus를 사용하여 TextView를 업데이트하지만 언젠가는 처음에는 작동하지 않습니다. 두 번째로 변경 한 후에 변경되지만, 어떻게 작동하는지 모르겠습니다. 도와 줘요. 고마워요. 내 코드가 있습니다. 먼저는TextView setText() 가끔 작동하지 않습니다.
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEvent(Event event) {
final Event loca = event;
System.out.println("---sta--" + "onEvent");
if (!isVisible || !isLoad) {
return;
}
System.out.println("---sta--" + "visonEvent" + loca.getAddress()+TextUtils.isEmpty(loca.getAddress()));
txtLocationDetails.setText(String.format("address:%s", TextUtils.isEmpty(loca.getAddress()) ? "" : loca.getAddress()));
offset = 0;
initDatas();
}
작동하지 않을 것하지만 그것이 괜찮아 내가 왜 모르는
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEvent(Event event) {
final Event loca = event;
System.out.println("---sta--" + "onEvent");
if (!isVisible || !isLoad) {
return;
}
System.out.println("---sta--" + "visonEvent" + loca.getAddress()+TextUtils.isEmpty(loca.getAddress()));
txtLocationDetails.post(new Runnable() {
@Override
public void run() {
txtLocationDetails.setText(String.format("address:%s", TextUtils.isEmpty(loca.getAddress()) ? "" : loca.getAddress()));
}
});
offset = 0;
initDatas();
}
작동 아래 난 당신이 말해 줄 수, 코드를 변경? 감사합니다.
읽고 http://stackoverflow.com/questions/13840007/what-exactly-does-the-post-method-do을 –
사용 방송 수신기. – Noorul
관련 스레드 : http://stackoverflow.com/questions/29040333/eventbus-not-on-the-main-thread –