Ich benutze Eventbus, um TextView zu aktualisieren, aber ist nicht arbeiten irgendwann zuerst, nachdem ich mit der Sekunde es funktioniert, aber ich weiß nicht, wie es funktioniert. rufen Sie mir helfen? Vielen Dank. Unten ist mein Code. es zuerst nicht funktioniertTextView setText() funktioniert manchmal nicht
@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();
}
aber ich den Code ändern, darunter
arbeiten@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();
}
ich weiß nicht, warum es in Ordnung ist, können Sie mir sagen? Danke.
lesen http://stackoverflow.com/questions/13840007/what-exactly-does-the-post-method-do –
Verwenden Rundfunkempfänger dafür. – Noorul
Verwandte Themen: http://StackOverflow.com/Questions/29040333/EventBus-Not-on-the-Main-Thread –