Bild dynamisch ändern mit Handler

  • Antworten:3
Peter Parker
  • Forum-Beiträge: 36

08.05.2014, 10:22:31 via Website

Hallo,
wenn ich ein Bild dynamisch ändern möchte geht das über:

ImageView imgView=(ImageView) findViewById(R.id.image);
imgView.setImageResource(R.raw.anderesBild);

Wenn ich das allerdings mit einem Handler machen möchte ändert sich das Bild nicht.

public final Handler meinHandler = new Handler() {
    public void handleMessage(Message msg1) {
        switch (msg1.what) {
        case AENDERUNG:
            Toast.makeText(getApplicationContext(),"TEST",Toast.LENGTH_LONG).show();
            imgView.setImageResource(R.raw.anderesBild);
            break; ...

Der Text TEST wird angezeigt, das Bild bleibt allerdings das ursprüngliche.
Woran liegt das?

Antworten
Fabian Simon
  • Forum-Beiträge: 359

08.05.2014, 10:29:44 via Website

Nur so als Idee, aber manchmal hilft es dem element nochmal mitzuteilen das es neu zeichnen soll.
ich glaub das kannst du mit der methode invalidate machen oder so ähnlich postinvalidate ??? irgendwie so ...

Antworten
Peter Parker
  • Forum-Beiträge: 36

08.05.2014, 10:47:56 via Website

Danke für die Idee. Das habe ich auch schon probiert mit

imgView.postInvalidate(); bzw. imgView.invalidate();

hat leider nichts verändert...

Antworten
Peter Parker
  • Forum-Beiträge: 36

09.05.2014, 08:36:03 via Website

Das komische: Wenn ich auf den Android gegebenen Zurück Button klicke wird das richtige Bild angezeigt. Habe schon alles mögliche versucht mit refresh und über imgView.setImageDrawable(getResources().getDrawable(R.raw.anderesBild));
Mit einem Button bekomme ich es hin, aber über den Handler nicht...

Antworten