- Problembeschreibung
- Activity beinhaltet den View
- Thread/Runnable läuft nebenbei und soll dem View Text setzten
- Exception
- android.view.ViewRoot$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
- Lösung
- android.os.Handler
Ein Handler der in der Activity definiert wird, erlaubt es euch über ihr auf die Activity und den GUI-Thread zu zugreifen.
private Handler handler = new Handler(){Diese kann auch ggfs. auch als static deklariert werden.
public void handleMessage(android.os.Message msg) {
//DO smth.
}
};
Die Message bietet euch einiges an Objekten und prim. Datentypen, die euch helfen euer Ziel zu erreichen.
Zitat: "arg1 and arg2 are lower-cost alternatives to using
setData()
if you only need to store a few integer values."Einfaches handling:
Message instanzieren, Werte füllen und zum Handler schicken.
Message message = new Message();
message.arg1=8; //int 1
message.arg2=15; //int 2
handler.sendMessage(message);
Was euch auch noch behilflich sein könnte ist Timed und AsyncTask.
Ich verabschiede mich und wünsche euch viel Erfolg beim Programmieren.
regards
Alex
Keine Kommentare:
Kommentar veröffentlichen