En mi aplicación estoy mostrando en un Fragment un ListView personalizado en el que se muestran 2 imágenes y un texto.
El problema viene que las imágenes se muestran más pequeñas de lo que está en su layout, es decir, tienen un tamaño por defecto de 78dip y las muestra mucho más pequeñas.
En el Fragment tengo lo siguiente:
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.activity_calendario, container, false);
listCalendario = (ListView) rootView.findViewById(R.id.listadoViewPartidos);
StrictMode.enableDefaults();
new LoadBackgroudData().execute();
return rootView;
}
En LoadBackgroundData, creo el setAdapter, y en mi adaptador tengo lo siguiente:
public View getView(final int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ListViewItem item = items.get(position);
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.item_row_calendario, null);
ImageView imgThumbnail = (ImageView) vi.findViewById(R.id.imgThumbnail);
TextView txtTitle = (TextView) vi.findViewById(R.id.txtTitle);
ImageView imgThumbnail2 = (ImageView) vi
.findViewById(R.id.imgThumbnail2);
new getImageUrl(imgThumbnail).execute(item.ThumbnailResource);
txtTitle.setText(item.Title);
new getImageUrl(imgThumbnail2).execute(item.ThumbnailResource2);
return vi;
}
La clase getImageUrl es la siguiente:
private HashMap<String, Bitmap> imagesCache = new HashMap<String, Bitmap>();
private class getImageUrl extends AsyncTask<String, Void, Bitmap> {
private final WeakReference<ImageView> imageViewReference;
public getImageUrl(ImageView image) {
imageViewReference = new WeakReference<ImageView>(image);
}
@Override
protected Bitmap doInBackground(String... urls) {
String url = urls[0];
Bitmap bitmap = null;
if (imagesCache.containsKey(url)) {
return imagesCache.get(url);
}
try {
InputStream in = new java.net.URL(url).openStream();
bitmap = BitmapFactory.decodeStream(in);
imagesCache.put(url, bitmap);
} catch (Exception e) {
//Log.e("Error", e.getMessage());
}
return bitmap;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
imageViewReference.get().setImageBitmap(bitmap);
}
}
¿A qué puede ser debido que no me esté mostrando correctamente el tamaño de las imágenes? Este problema lo estoy teniendo desde que uso Fragments, en un Activity normal funcionaba correctamente.
Espero que me podáis ayudar, saludos!