Code: Select all
public class ImageSliderAdapter : PagerAdapter
{
Context _context;
DataSet _MyImages = new DataSet();
public ImageSliderAdapter(Context context, DataSet MyImages)
{
_MyImages = MyImages;
_context = context;
}
public override bool IsViewFromObject(Android.Views.View view, Java.Lang.Object @object)
{
return view == ((LinearLayout)@object);
}
public override int Count
{
get
{
return _MyImages.Tables[0].Rows.Count;
}
}
public override void DestroyItem(ViewGroup container, int position, Java.Lang.Object objectValue)
{
}
public override Java.Lang.Object InstantiateItem(ViewGroup container, int position)
{
View view = container;
var inflater = _context.GetSystemService(Context.LayoutInflaterService) as LayoutInflater;
view = inflater.Inflate(Resource.Layout.image_slider_item, null);
var child = view.FindViewById(Resource.Id.image_slider_item);
child.SetScaleType(ImageView.ScaleType.CenterCrop);
TextView Name = view.FindViewById(Resource.Id.Name);
TextView CellPhone = view.FindViewById(Resource.Id.CellPhone);
TextView HomePhone = view.FindViewById(Resource.Id.HomePhone);
Button MyExit = view.FindViewById(Resource.Id.button_Exit);
MyExit.Click += (o, e) =>
{
// need to exit here/
};
Bitmap image = null;
string Name = "";
string HomePhoneNumber = "";
string CellPhoneNumber = "";
Task.Run(() =>
{
//URL url = new URL(_imageUrls[position]);
byte[] MyPhoto = (byte[])_MyImages.Tables[0].Rows[position]["photo"];
image = BitmapFactory.DecodeByteArray(MyPhoto, 0, MyPhoto.Length); //(Bitmap)_MyImages.Tables[0].Rows[position]["Photo"]; //BitmapFactory.DecodeStream(url.OpenConnection().InputStream);
Name = _MyImages.Tables[0].Rows[position]["name"].ToString();
HomePhoneNumber = _MyImages.Tables[0].Rows[position]["HomePhoneNumber"].ToString();
CellPhoneNumber = _MyImages.Tables[0].Rows[position]["CellPhoneNumber"].ToString();
}).ContinueWith(t =>
{
(_context as Swipe).RunOnUiThread(() =>
{
child.SetImageBitmap(image);
Name.Text = Name;
Home.Text = HomePhoneNumber;
Away.Text = CellPhoneNumber;
});
});
container.AddView(view);
return view;
}
}