Error al mostrar imagen en Android

Android me esta marcando este error, pero la verdad no tengo ni la menor idea de porqué ya que esta realizando mi proceso correctamente y me muestra la imagen:

E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: http:/www.paisajesbonitos.org/wp-content/uploads/2016/04/paisajes-de-chile-patagonia-chile-paisajes-bonitos-hermosos-2.jpg: open failed: ENOENT (No such file or directory)

I/System.out: resolveUri failed on bad bitmap uri: http://www.paisajesbonitos.org/wp-content/uploads/2016/04/paisajes-de-chile-patagonia-chile-paisajes-bonitos-hermosos-2.jpg

IndexActivity.java

ArrayList<String> strings = new ArrayList<String>();
    if (checkIn.getImages().size() > 0) {//valido de que existan imagenes
        for (ImageData object: checkIn.getImages()) {
            strings.add(object.getPath());//al ArrayList le agrego los Bitmaps
        }//for
        gridView.setAdapter(new ImageAdapter(this, strings));//seteo las imagenes al gridView
    }//./if

InameAdapter.java

public class ImageAdapter extends ArrayAdapter {

private Context mContext;
private ArrayList<String> imagesList;

public ImageAdapter(Context context, ArrayList<String> imagesList){
    super(context, R.layout.activity_index, imagesList);//recibe como parametros el Contexto y un ArrayList de Bitmaps
    this.mContext = context;//se asgina valores
    this.imagesList = imagesList;//se asgina valores
}//./constructor

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = new ImageView(mContext);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setLayoutParams(new GridView.LayoutParams(150, 150));

    for (int i = 0; i < imagesList.size(); i++) {
        Uri myUri = Uri.parse(imagesList.get(i));

        if (imagesList.size() > 0) {
            imageView.setImageURI(myUri);
        }
    }

    Glide.with(mContext).load(imagesList.get(position)).into(imageView);

    return imageView;
}

}//./clase

1
задан 23.12.2016, 18:22
0 ответов

Ошибка - FileNotFoundException:

Unable to decode stream: java.io. FileNotFoundException: http:/www.paisajesbonitos.org/wp-content/uploads/2016/04/paisajes-de-chile-patagonia-chile-paisajes-bonitos-hermosos-2.jpg

возможно, если ты загружаешь файл в browser, файл существуй, но это может быть 2 вещи, твое приложение в момент загружения url - офлайн, или сервер не отвечает правильно после того, как старается вручать изображение, кратко ресурс не находится.

Но кроме того у тебя есть эта ошибка:

resolveUri failed on bad bitmap uri:

Эта ошибка могла вызывать предыдущего, что общеизвестный состоит в том, что ты грузишь в том же самом ImageView все изображения! который содержит ArrayList mdiante setImageURI(), в этой одинокой точке ты должен загружать одну определенную из-за position:

  imageView.setImageURI(myUri);

Но загрузив изображение, также ты это реализуешь снова с Glide:

 Glide.with(mContext).load(imagesList.get(position)).into(imageView);

for что у тебя есть, чтобы загружать изображение, не необходимо, так как разыскиваемое изображение получается посредством position внутри ArrayList что содержит изображения и - estas грузя с Glide внутри ImageView:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = new ImageView(mContext);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setLayoutParams(new GridView.LayoutParams(150, 150));

   /* for (int i = 0; i < imagesList.size(); i++) {
        Uri myUri = Uri.parse(imagesList.get(i));

        if (imagesList.size() > 0) {
            imageView.setImageURI(myUri);
        }
    }*/

    Glide.with(mContext).load(imagesList.get(position)).into(imageView);

    return imageView;
}

Если ты не хочешь использовать этого Glide, он был бы способом загружать ее (s) изображение:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = new ImageView(mContext);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setLayoutParams(new GridView.LayoutParams(150, 150));

    Uri myUri = Uri.parse(imagesList.get(position));
    imageView.setImageURI(myUri);

   /* for (int i = 0; i < imagesList.size(); i++) {
        Uri myUri = Uri.parse(imagesList.get(i));

        if (imagesList.size() > 0) {
            imageView.setImageURI(myUri);
        }
    }    
    Glide.with(mContext).load(imagesList.get(position)).into(imageView);
    */

    return imageView;
}

Я это такой realize

    @Override
public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView = new ImageView(mContext);
    imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
    imageView.setLayoutParams(new GridView.LayoutParams(150, 150));

    if (imagesList.size() > 0) {
        imageView.setImageBitmap(imagesList.get(position));
    }
    return imageView;
}

}//./clase

2
ответ дан 03.12.2019, 18:00

Теги

Похожие вопросы