Tema: [ CONSULTA ] lista con adapter personalizado
Ver Mensaje Individual
  #1  
Viejo 26/01/15, 21:19:15
Array

[xs_avatar]
mcnudi mcnudi no está en línea
Usuario novato en la web
 
Fecha de registro: ene 2015
Mensajes: 1
Tu operador: Movistar

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;
 
}
}
Responder Con Cita