Bildansicht wird nicht angezeigt, Bild bei Einstellung von setImageBitmap()

Ich habe Probleme, mich zu bekommen ein vorhandenes image auf die SD-Karte angezeigt.

ImageView _photoView = (ImageView)findViewById(R.id.img_photo);

File photoFile = new File(Environment.getExternalStorageDirectory(), Session.PHOTO_FILE_NAME);
rawFileInputStream = new FileInputStream(photoFile);
Bitmap origPhoto = BitmapFactory.decodeStream(rawFileInputStream, null, new BitmapFactory.Options());

_photoView.setImageBitmap(origPhoto);
Log.d(TAG, origPhoto.getWidth() + " - " + origPhoto.getHeight());

Dem Foto existiert und die Abmessungen zeigen, wie Sie angezeigt werden, aber nichts erscheint in der Bildansicht-tag

<ImageView 
    android:id="@+id/img_photo"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" />

Versuchte ich die Höhe auf eine Feste Größe, aber ich kann immer noch nicht sehen, das Foto.

Ich habe gesehen, ein paar Beiträge auf, SO dass in Bezug auf dieses Problem, aber keiner von Ihnen haben noch beantwortet worden.

Irgendwelche Ideen?

** Update
Wenn ich laden Sie die Datei direkt, statt über einen filestream-es funktioniert

Bitmap origPhoto = BitmapFactory.decodeFile("/mnt/sdcard/" + Session.PHOTO_FILE_NAME);
double scale = MAX_WIDTH * 1.0 / origPhoto.getWidth();
int height = (int)(origPhoto.getHeight() * scale);
Bitmap scaledPhoto = Bitmap.createScaledBitmap(origPhoto, MAX_WIDTH, height, true);
_photoView.setImageBitmap(origPhoto);

aber wenn ich dann auf hinzufügen Bitmap.createScaledBitmap() - Methode aufrufen, es funktioniert nicht mehr und das Bild wird nicht angezeigt.

  • Etwas anderes ist falsch, setImageBitmap(Bitmap) funktioniert auf jeden Fall.
  • Recht hast du. Ich habe die Datei ersetzt-streaming mit Bitmap scaledPhoto = BitmapFactory.decodeFile("/mnt/sdcard/" + Session.PHOTO_FILE_NAME); und es funktioniert jetzt.
  • Leider, sobald ich fügen Sie eine Zeile code, um das Bild zu skalieren, funktioniert Sie nicht mehr. Siehe update
  • Ich tauschte die Geräte und der ursprüngliche code wird dann gearbeitet. Ich habe dann eine vollständige deinstallation auf dem anderen Gerät und es funktioniert jetzt auch da...
  • Ah der gute ol' clean/rebuild trick. Froh zu hören, Sie habe es funktioniert!
  • Überprüfen Sie, ob die Bitmap zurückgegeben decodeStream ist nicht null.
  • löschen von post-oder put-Antwort 😉

InformationsquelleAutor chris | 2011-06-30
Schreibe einen Kommentar