Ich habe derzeit einen einfachen Listenadapter, der zwei Textzeilen enthält. Was ich als nächstes versuche, ist die Möglichkeit hinzuzufügen, dass ein Foto, das der Benutzer aufgenommen hat, in der Listenansicht angezeigt wird. Ich habe meinen Listenadapter wie folgt angepasst:
standardAdapter = new SimpleAdapter(this, list, R.layout.post_layout,
new String[] { "time", "post", "image"}, new int[] {
R.id.postTimeTextView, R.id.postTextView, R.id.post_imageView});
Dann füge ich es wie gewöhnlich der Hash Map hinzu und aktualisiere den Adapter:
// Erstelle eine neue Hash Map mit dem Text aus dem Beitrag
feedPostMap = new HashMap();
feedPostMap.put("time", currentTimePost);
feedPostMap.put("post", post);
if(photoWasTaken == 1){
feedPostMap.put("image", pictureTaken);
}
// Füge die Map zur Liste hinzu
list.add(feedPostMap);
// Aktualisiere den Adapter
standardAdapter.notifyDataSetChanged();
Zuletzt hier ist der Code für die Aktivität bei Ergebnis:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d(TAG, "Aktivität für Ergebnis- KAMERA");
if (resultCode == Activity.RESULT_OK) {
// Datei erhalten und decodieren
pictureTaken = BitmapFactory.decodeFile("/sdcard/livefeedrTemp.png");
// Bild über dem Textfeld anzeigen
imageViewShowPictureTaken.setImageBitmap(pictureTaken);
displayPhotoLayout.setVisibility(LinearLayout.VISIBLE);
//NEU - Bildvariable auf 1 setzen
photoWasTaken = 1;
}
}
Ich stoße jedoch auf ein Problem. Das Foto, in Form von Bitmap, wird nicht zur Listenansicht hinzugefügt. Es erscheint nur als leerer weißer Raum. Mache ich hier etwas falsch? Zweitens, wenn der Benutzer entscheidet, kein Bild aufzunehmen, sollte das Bild nicht angezeigt werden. Ich bin mir nicht sicher, wie ich das umsetzen soll. Sollte ich einen benutzerdefinierten Listenadapter erstellen?
Vielen Dank für deine Hilfe