- scripts/GridViewAdapter.cs
using System.Collections.Generic; using Android.Content; using Android.Views; using Android.Widget; using Java.Lang; namespace android_by_csharp.scripts { public class GridInfo { public readonly int Icon; public readonly string Text; public GridInfo(int icon, string text) { Icon = icon; Text = text; } } public class GridViewAdapter : baseAdapter { private readonly List_gridInfos; private readonly LayoutInflater _context; public GridViewAdapter(Context context, List gridInfos) { _context = LayoutInflater.FromContext(context); _gridInfos = gridInfos; } public override Object GetItem(int position) { return null; } public override long GetItemId(int position) { return position; } public override View GetView(int position, View convertView, ViewGroup parent) { convertView ??= _context.Inflate(Resource.Layout.grid_item, parent, false); var icon = (ImageView)convertView?.FindViewById(Resource.Id.icon); var text = (TextView)convertView?.FindViewById(Resource.Id.text); icon?.SetImageResource(_gridInfos[position].Icon); if (text != null) text.Text = _gridInfos[position].Text; return convertView; } public override int Count => _gridInfos.Count; } } - MainActivity.cs
var gridView = (GridView)FindViewById(Resource.Id.grid_view); var list = new List
{ new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "ProsperLee"), new GridInfo((int)Resource.Drawable.avatar, "Lee") }; var gridViewAdapter = new GridViewAdapter(this, list); if (gridView != null) gridView.Adapter = gridViewAdapter;



