Home Menu

Menu



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


 
Herramientas
  #1  
Viejo 26/01/15, 21:19:15
Avatar de mcnudi
mcnudi mcnudi no está en línea
Usuario novato en la web
Mensajes: 1
 
Fecha de registro: ene 2015
Mensajes: 1
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
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


Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 16:27:52 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007