[email protected]

Asunción, PARAGUAY

Ingeniería y desarrollo de software, emprendimiento, cursos

12 de julio de 2017

Cargar ListView desde una lista genérica

Cuando trabajamos con servicios Web, generalmente éste retorna listas con datos relacionados al tipo de dato que necesitamos para poder trabajar con dichos datos.

Supongamos que tenemos un servicio Web para una biblioteca donde tenemos la lista de libros y deseamos cargar dichos libros en nuestra vista dentro de la aplicación Xamarin. ¿Cómo lo hacemos?

Resulta muy sencillo realizar dicha acción, lo único que necesitamos es heredar de la clase BaseAdapter que permite cargar el objeto ListView de Xamarin con los elementos necesarios para la carga de datos.

public class MiPantallaAdapter : BaseAdapter
{
   List libros;
   Activity context;

   public MiPantallaAdapter(Activity context, List _libros) : base() 
   {
       this.context = context;
       this.libros = _libros;
   }

   public override long GetItemId(int position)
   {
       return position;
   }

   public override Libro this[int position] 
   {  
       get { return libros[position]; }
   }
   
   public override int Count 
   {
       get { return libros.Length; }
   }
   
   public override View GetView(int position, View convertView, ViewGroup parent)
   {
       View view = convertView; // Reutilizar la vista(View) si está disponible.
       
       if (view == null) // Si no existe se crea una nueva, utilizando el archivo de recursos que representa a los items de la lista
           view = context.LayoutInflater.Inflate(Android.Resource.Layout.TU_LAYOUT_PARA_ITEM, null);
       
       view.FindViewById(Android.Resource.Id.Nombre).Text = libros[position];
       
       return view;
   }
}
Con esta porción de código se logra cargar un ListView con datos.

Hey, we've just launched a new custom color Blogger template. You'll like it - https://t.co/quGl87I2PZ
Suscribíte al boletín