![]() |
|
Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
«
Tema Anterior
|
Siguiente tema
»
|
Herramientas |
#1
|
||||
|
||||
lista con adapter personalizado
Hola
estoy haciendo un list View para mostrar un lista q contiene 2 campos y un campo imagen. Resulta que con las imágenes cuando llevo unas cuantas cargadas me aparece el error en el log java OutOfMemoryError. Lo estoy haciendo con un adapter personalizado que extiende de baseAdapter. ¿Me podeis ayudar?? os paso el adapter: public class ItemSitioAdapter extends BaseAdapter { protected Activity activity; protected ArrayList<DescrLista> items; static class ViewHolder { TextView nombre; TextView descripcion; ImageView imagen; } public ItemSitioAdapter(Activity activity, ArrayList<DescrLista> items) { this.activity = activity; this.items = items; } @Override public int getCount() { return items.size(); } @Override public DescrLista getItem(int position) { return items.get(position); } @Override public long getItemId(int position) { return 0; } @SuppressLint("NewApi") @Override public View getView(int position, View convertView, ViewGroup parent) { View vi=convertView; ViewHolder holder; if(convertView == null) { LayoutInflater inflater = (LayoutInflater) activity.getSystemService(Context.LAYOUT_INFLATER_ SERVICE); vi = inflater.inflate(R.layout.list_item, null); holder = new ViewHolder(); holder.nombre = (TextView) vi.findViewById(R.id.nombreI); holder.imagen = (ImageView) vi.findViewById(R.id.imagenI); holder.descripcion = (TextView) vi.findViewById(R.id.descripI); vi.setTag(holder); } else{ convertView.getTag(); } if (items.size()>position) { DescrLista item = items.get(position); if (item.getFoto()!=null && !item.getFoto().equals("")){ ImageView image = (ImageView) vi.findViewById(R.id.imagenI); File fichero = new File(item.getFoto()); if (fichero.exists()){ try{ image.setImageURI(Uri.parse(item.getFoto())); }catch(OutOfMemoryError e){ } } } if (item.getNombre()!=null && !item.getNombre().equals("")){ TextView nombre = (TextView) vi.findViewById(R.id.nombreI); nombre.setText(item.getNombre()); } if (item.getDescripcion()!=null && !item.getDescripcion().equals("")){ TextView descripc = (TextView) vi.findViewById(R.id.descripI); descripc.setText(item.getDescripcion()); } } return vi; } } |
|
Respuesta |
![]() |
||||||
|
«
Tema Anterior
|
Siguiente tema
»
|
|
Hora actual: 16:27:52 (GMT +2)
HTCMania: líderes desde el 2007