Skip to content

Instantly share code, notes, and snippets.

@monotocho
Created July 23, 2012 16:19
Show Gist options
  • Save monotocho/3164525 to your computer and use it in GitHub Desktop.
Save monotocho/3164525 to your computer and use it in GitHub Desktop.
MY GetView - Gridview. ( very slow!!!!!! in tablet to scrolling 5 columns..)
public override View GetView(int position, View convertView, ViewGroup parent)
{
ViewHolder holder;
AdapterArticuloConsultaItem item;
string path;
bool encontrado = false;
Bitmap bMap = null;
if (convertView == null)
{
convertView = lif.Inflate(Resource.Layout.AArticuloConsultarItem, null);
holder = new ViewHolder();
holder.lbCodigo = convertView.FindViewById<TextView>(Resource.AArticuloConsultarItem.lbCodigo);
holder.lbNombre = convertView.FindViewById<TextView>(Resource.AArticuloConsultarItem.lbNombre);
holder.lbPrecio = convertView.FindViewById<TextView>(Resource.AArticuloConsultarItem.lbPrecio);
holder.pbImagen = convertView.FindViewById<ProgressBar>(Resource.AArticuloConsultarItem.progressBar1);
holder.ivImagen = convertView.FindViewById<ImageView>(Resource.AArticuloConsultarItem.imageView1);
holder.position = position;
convertView.Tag = (ViewHolder)holder;
}
else
{
holder = (ViewHolder)convertView.Tag;
}
#region Poner valores a controles
item = (AdapterArticuloConsultaItem)items[position];
holder.lbCodigo.Text = item.Codigo;
holder.lbNombre.Text = item.Nombre;
holder.lbPrecio.Text = item.Precio.ToString();
path = System.IO.Path.Combine(System.IO.Path.Combine(DDOL.MFile.SharedFolder(), "catalogo"), item.Codigo) + ".jpg";
ThreadPool.QueueUserWorkItem((object state) =>
{
//Background
if (System.IO.File.Exists(path))
{
bMap = DecodeFile(path);
bMap = Bitmap.CreateScaledBitmap(bMap, 200, 200, true);
encontrado = true;
}
//Hilo principal
Android.App.Application.SynchronizationContext.Post(_ =>
{
if (encontrado)
{
holder.ivImagen.SetImageBitmap(bMap);
}
else
holder.ivImagen.SetImageResource(Resource.Drawable.Icon);
holder.pbImagen.Visibility = ViewStates.Gone;
this.NotifyDataSetChanged();
}, null);
});
#endregion
return convertView;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment