Xamarin.Android 关于GridView 的正确使用方式
https://blog.csdn.net/qq_35504350/article/details/78189004
这个是重点
-
JavaList<IDictionary<string, object>> data_list = null;//一定要用javalist不能用IListJavaDictionary<string, object> map = new JavaDictionary<string, object>();
如果你使用的C# 自带的List 会出现重复点击的问题
Dictionary
如果使用的是这个,那么会加载不出来菜单
JavaList<IDictionary<string, object>> menuDatas = new JavaList<IDictionary<string, object>>(); foreach (var item in permissionArray) { JavaDictionary<string, object> map = new JavaDictionary<string, object>(); switch (item) { case "1": map.Add("image", Resource.Drawable.图片); map.Add("text", "文字描述"); break; case "2": map.Add("image", Resource.Drawable.图片); map.Add("text", "文字描述"); break; default: break; } menuDatas.Add(map); } //新建适配器 string[] fromMenu = { "image", "text" }; int[] to = { Resource.Id.Img_MenuIco, Resource.Id.Txt_MenuTitle }; SimpleAdapter listAdapter = new SimpleAdapter(this, menuDatas, Resource.Layout.component_gridview_menu, fromMenu, to); gvMenu.Adapter = listAdapter; gvMenu.ItemClick += GvMenu_ItemClick;
private void GvMenu_ItemClick(object sender, AdapterView.ItemClickEventArgs e) { switch (e.Position) { case 1: GridViewItemClick<要打开的页面类>(); break; case 2: GridViewItemClick<要打开的页面类>(); break; default: new AlertDialog.Builder(this) .SetMessage("该功能还在开发中...") .Show(); break; } }
private void GridViewItemClick<T>() where T : Activity { StartNewActivity<T>(this, Resource.Animation.activity_fade_in, Resource.Animation.activity_fade_out, false, null); }
public void StartNewActivity<T>(Context ctext,int enterAnim, int exitAnim, bool isFinish, Bundle mBundle) where T : Activity { var typeActivity = typeof(T); Log.Debug("打开新页面", _context + "" + typeActivity); Intent mIntent = new Intent(ctext, typeActivity); if (mBundle != null) { mIntent.PutExtras(mBundle); } StartActivity(mIntent); OverridePendingTransition(enterAnim, exitAnim); if (isFinish) { Finish(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2021-03-29 设置div 内容不会换行 显示滚动条
2021-03-29 css 给Input 左侧添加图标
2019-03-29 C# Winform 中DataGridView 实现单元格输入下拉框功能