void LoadMapForItem(ActivityItem view, Tuple <double, double> latLng, int versionNumber) { FadeImageView mapView = view.FindViewById <FadeImageView> (Resource.Id.MapPicture); string url = BuildMapUrl(latLng, mapWidth, MapHeight); if (url == view.CurrentMapUri) { return; } Bitmap map = null; if (cache.TryGet(url, out map)) { mapView.SetImageBitmap(map, true); view.CurrentMapUri = url; view.CurrentMapCoordinates = latLng; } else { mapView.SetImageBitmap(NoMapPicture); Action doMapSetting = () => { if (view.VersionNumber != versionNumber) { return; } activity.RunOnUiThread(() => { if (view.VersionNumber != versionNumber) { return; } if (map == null) { cache.TryGet(url, out map); } mapView.SetImageBitmap(map, true); view.CurrentMapUri = url; view.CurrentMapCoordinates = latLng; }); }; if (pendingFetch.ContainsKey(url)) { pendingFetch [url].ContinueWith(t => doMapSetting(), TaskContinuationOptions.ExecuteSynchronously); } else { pendingFetch[url] = SerialScheduler.Factory.StartNew(() => { map = DownloadoCacher(url); doMapSetting(); }); } } }
public override Android.Views.View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var view = inflater.Inflate(Resource.Layout.TapBadge, container, false); icon = view.FindViewById <FadeImageView> (Resource.Id.BadgeIcon); icon.SetImageBitmap(contactPicture, false); title = view.FindViewById <TextView> (Resource.Id.BadgeTitle); subtitle = view.FindViewById <TextView> (Resource.Id.BadgeSubtitle); tapInset = view.FindViewById <TextView> (Resource.Id.TapInset); infoLayout = view.FindViewById <LinearLayout> (Resource.Id.TapInfoLayout); SetupBadge(view); return(view); }
public override Android.Views.View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { var view = inflater.Inflate (Resource.Layout.TapBadge, container, false); icon = view.FindViewById<FadeImageView> (Resource.Id.BadgeIcon); icon.SetImageBitmap (contactPicture, false); title = view.FindViewById<TextView> (Resource.Id.BadgeTitle); subtitle = view.FindViewById<TextView> (Resource.Id.BadgeSubtitle); tapInset = view.FindViewById<TextView> (Resource.Id.TapInset); infoLayout = view.FindViewById<LinearLayout> (Resource.Id.TapInfoLayout); SetupBadge (view); return view; }