Gewusst wie: aktualisieren Sie Bildansicht in android
Ich aktualisieren möchten imageview
auf bytearray-erhielt aus der Buchse.
new Thread(new Runnable() {
@Override
public void run() {
//TODO Auto-generated method stub
while (!socket.isClosed()) {
imgArray = receiveImagebytes();
}
}
}).start();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
while (!socket.isClosed()) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//TODO Auto-generated method stub
imageView.setImageBitmap(BitmapFactory.decodeByteArray(imgArray, 0, imgArray.length));
imageView.invalidate();
}
});
imgArray
ist das bytearray erhielt in einem anderen thread. Ich will aktualisieren Sie die Bildansicht..Aber es funktioniert nicht..Es bleibt bei der gleichen Standard-icon
- vielleicht refreshDrawableState() ?
- Ich versuchte das auch, aber nicht arbeiten...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Entweder das Bild kommt immer, oder es kommt nur einmal.
Denn wenn Sie ausgelöst haben den obigen code korrekt von der richtigen Stelle, es muss aktualisieren Sie die Bildansicht.
Versuchen zu Debuggen, die Sie auf unterschiedliche Weise code aktualisieren, ist ok.
while
Sorry an alle.Das problem war, dass der obige code war in der Haupt-thread,also bekam blockieren Sie alle Antworten auf die UI.
Das problem aber gelöst, wenn ich zog Sie den code in einen thread aus dem Hauptthread.Jetzt ist es korrekt funktioniert.
Danke für alle Antworten