public override View GetView(int position, View view, ViewGroup parent) { ViewHolder viewHolder; if (view == null) { viewHolder = new ViewHolder(); view = layoutInflater.Inflate(Resource.Layout.payment_method_list, parent, false); viewHolder.paymentMethodNameView = (TextView)view.FindViewById(Resource.Id.paymentMethodName); viewHolder.imageView = (ImageView)view.FindViewById(Resource.Id.paymentMethodLogo); view.Tag = viewHolder; } else { viewHolder = (ViewHolder)view.Tag; } if (viewHolder != null) { if (viewHolder.paymentMethodNameView != null && viewHolder.imageView != null) { viewHolder.paymentMethodNameView.Text = paymentMethods[position].Name; Bitmap defaultImage = null; AsyncImageDownloader.DownloadImage(context, viewHolder.imageView, paymentMethods[position].LogoUrl, defaultImage); } } return(view); }
public override View GetView(int position, View view, ViewGroup parent) { ViewHolder viewHolder; if (view == null) { viewHolder = new ViewHolder(); LayoutInflater inflater = (LayoutInflater)context.GetSystemService(Context.LayoutInflaterService); view = inflater.Inflate(Resource.Layout.payment_method_list, parent, false); viewHolder.paymentMethodNameView = (TextView)view.FindViewById(Resource.Id.paymentMethodName); viewHolder.imageView = (ImageView)view.FindViewById(Resource.Id.paymentMethodLogo); view.Tag = viewHolder; } else { viewHolder = (ViewHolder)view.Tag; } viewHolder.paymentMethodNameView.Text = issuers[position].Name; AsyncImageDownloader.DownloadImage(context, viewHolder.imageView, issuers[position].ImageUrl, null); return(view); }
private void CreateBuilder(IMediaItem mediaItem) { var builder = new Notification.Builder(Application.Context, channelId); builder.SetChannelId(channelId); //Configure builder builder.SetContentTitle(mediaItem.Title); builder.SetContentText(mediaItem.Artist); builder.SetWhen(0); if (AndroidAudioPlayer.SharedInstance.IsPlaying) { builder.SetOngoing(true); builder.SetSmallIcon(Android.Resource.Drawable.IcMediaPlay); } else { builder.SetOngoing(false); Intent dismissIntent = new Intent(ButtonEvents.AudioControlsDestroy); PendingIntent dismissPendingIntent = PendingIntent.GetBroadcast(Application.Context, 1, dismissIntent, 0); builder.SetDeleteIntent(dismissPendingIntent); builder.SetSmallIcon(Android.Resource.Drawable.IcMediaPause); } //If 5.0 >= set the controls to be visible on lockscreen if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop) { builder.SetVisibility(NotificationVisibility.Public); } if (!string.IsNullOrWhiteSpace(mediaItem.AlbumArtUrl)) { try { var bitmap = new AsyncImageDownloader().Execute(new string[] { mediaItem.AlbumArtUrl }); builder.SetLargeIcon(bitmap.GetResult()); } catch (Java.Lang.Exception exc) { Console.WriteLine($"Unable to find Album Art URL for {mediaItem.AlbumArtUrl}"); Console.WriteLine(exc.ToString()); } } Intent resultIntent = new Intent(Application.Context, typeof(Activity)); resultIntent.SetAction(Intent.ActionMain); resultIntent.AddCategory(Intent.CategoryLauncher); PendingIntent resultPendingIntent = PendingIntent.GetActivity(Application.Context, 0, resultIntent, PendingIntentFlags.UpdateCurrent); builder.SetContentIntent(resultPendingIntent); //Controls var controlsCount = 0; // Previous controlsCount++; builder.AddAction(previousAction); // Play/Pause builder.AddAction(pauseAction); // Next controlsCount++; builder.AddAction(nextAction); // Close //controlsCount++; //builder.AddAction(destroyAction); // If 5.0 >= use MediaStyle if (Android.OS.Build.VERSION.SdkInt >= Android.OS.BuildVersionCodes.Lollipop) { int[] args = new int[controlsCount]; for (int i = 0; i < controlsCount; ++i) { args[i] = i; } var style = new Notification.MediaStyle(); style.SetShowActionsInCompactView(args); builder.SetStyle(style); } notificationBuilder = builder; }