Bild aus der Galerie in ImageView in einer ListView anzeigen

  • 1 Antworten
  • Letztes Antwortdatum
H

Hoerti

Neues Mitglied
1
Hallo zusammen,

bin mittlerweile echt schon am verzweifeln, sitze schon seit einigen Stunden bei diesem Problem.

Folgendes:
Ich habe für meine ListView einen CustomAdapter gebaut der eine ImageView und zwei TextView beinhaltet.
Die TextViews habe ich bereits befüllt, nun gehts um ImageView. Hier meine getView() Methode:
Code:
@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ViewHolderEreignis holder;
		
		if(convertView == null){
			convertView = inflator.inflate(R.layout.list_ereignis, parent, false);
			holder = new ViewHolderEreignis((TextView) convertView.findViewById(R.id.enullline), (TextView) convertView.findViewById(R.id.efirstLine), (ImageView) convertView.findViewById(R.id.eimgv));
			
			convertView.setTag(holder);
		}
		else{
			holder = (ViewHolderEreignis) convertView.getTag();
		}
		
		Ereignis ki = (Ereignis) getItem(position);
		holder.getEreignisname().setText(ki.getEreignisname());
		holder.getEreignisdatum().setText(ki.getEreignisZeit());
		Uri uri = Uri.parse(ki.getEreignisbild() + ".jpeg");
		
		
		String imageUri;
		imageUri = Environment.getExternalStorageDirectory().getAbsolutePath() + uri.getPath();
		Uri ui = Uri.parse(imageUri);
		
		
		System.out.println(imageUri + "ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ" + ui.getPath());
		holder.getEreignisbild().setImageURI(ui);
		
		return convertView;
		
	}

Mit holder.getEreignisbild().setImageURI möchte ich die TextView befüllen. Dies funktioniert allerdings nicht da ich jedes Mal die Fehlermeldung

05-13 15:08:31.960: E/BitmapFactory(30577): Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/external/images/media/10137.jpeg: open failed: ENOENT (No such file or directory)


bekomme, und zwar für jeden einzelnen Eintrag im ListView.

Das Bild wird folgendermaßen aufs Telefon geschrieben:
Code:
 ContentValues values = new ContentValues();
    String TITLE = null;
    values.put(MediaStore.Images.Media.TITLE, TITLE);
    String DESCRIPTION  = null;
    values.put(MediaStore.Images.Media.DESCRIPTION, DESCRIPTION);
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
     imageUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1);
    System.out.println("VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVvv" + imageUri.getPath());
    startActivityForResult(intent, IMAGE_CAPTURE);

Der Pfad sieht so aus: /storage/emulated/0/external/images/media/10137.jpeg


Habe auch schon versucht den Link als String reinzuschreiben ohne aus der Datenbank zu lesen aber auch das funktioniert nicht. Das Bild wird zu 100% erstellt, ich kann es am Handy auch in der Galerie sehen.

Kann mir jemand weiterhelfen?
 
Nach der Fehlermeldung kann es ja eigentlich nur das problem sein, dass die Datei halt doch nicht da liegt wo du sie vermutest.

Mal mit nem Datei explorer geguckt ob die Datei auch wirklich an dem Ort liegt?
 
Zurück
Oben Unten