[Activity(Label = "MainGridViewActivity", LaunchMode = LaunchMode.SingleTop)]//设置Activity启动模式
public class MainGridViewActivity : Activity
{
private GridView gview;
JavaList<IDictionary<string, object>> data_list = null;//一定要用javalist不能用IList
IDictionary<string, object> Map = null;
private SimpleAdapter adapter;
// 图片封装为一个数组
private int[] icon = { Resource.Drawable.Icon_agree , Resource.Drawable.icon_graphic,
Resource.Drawable.icon_roll,Resource.Drawable.Icon_semifin, Resource.Drawable.Icon_bg};
private string[] iconName = { "审批", "报表", "成品","半成品", "报工" };
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.MainGridView_layout);

gview = FindViewById<GridView>(Resource.Id.gridView1);
//新建List
data_list = new JavaList<IDictionary<string, object>>();//一定要用javalist不能用List
//获取数据
getData();
//新建适配器
string[] from = { "image", "text" };
int[] to = { Resource.Id.imagegViewMain, Resource.Id.textgViewMain };
adapter = new SimpleAdapter(this, data_list, Resource.Layout.gViewMainItem, from, to);
//配置适配器
gview.Adapter = adapter;

//GridView 的itemclick
gview.ItemClick += gview_ItemClick;//给GridView单元格加点击事件,类似java开发中的监听。
}
private JavaList<IDictionary<string, object>> getData()
{
//cion和iconName的长度是相同的,这里任选其一都可以
for (int i = 0; i < icon.Length; i++)
{
Map = new JavaDictionary<string, object>();
Map.Add("image", icon[i]);
Map.Add("text", iconName[i]);
data_list.Add(Map);
}
return data_list;
}
private void gview_ItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
switch (e.Position)
{
case 0://审批请求
{
var intent = new Intent(this, typeof(ApprovalActivity));
StartActivity(intent);
}
break;
case 1:
{
var intent = new Intent(this, typeof(GraphicMain));
StartActivity(intent);
}
break;
case 2:
{
var intent = new Intent(this, typeof(FinishGoodList));
StartActivity(intent);
}
break;
case 3:
{
var intent = new Intent(this, typeof(SemiFinishedGoodsList));
StartActivity(intent);
}
break;
case 4:
{
var intent = new Intent(this, typeof(SubMachineActivity));
StartActivity(intent);
}
break;
default:
new AlertDialog.Builder(this)
.SetMessage("该功能还在开发中...")
.Show();
break;
}
}
}

Xamarin控件使用之GridView的更多相关文章

  1. 与众不同 windows phone (52) - 8.1 新增控件: AutoSuggestBox, ListView, GridView, SemanticZoom

    [源码下载] 与众不同 windows phone (52) - 8.1 新增控件: AutoSuggestBox, ListView, GridView, SemanticZoom 作者:webab ...

  2. 带农历日历的DatePicker控件!Xamarin控件开发小记

    原文:带农历日历的DatePicker控件!Xamarin控件开发小记 闲来无事开发了个日期选择控件,感兴趣的同学前往: https://github.com/MatoApps/Mato.DatePi ...

  3. DevExpress控件使用经验总结- GridView列表行号显示操作

    DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.本文主要介绍我在使用DevExpress控件过程中,遇到或者发现的一些问题解决方案,或者也可以所示一 ...

  4. Android--自定义控件---自动分页的GridView

    最近,根据项目需求,需要一个能够自动分页的导航,所以便自定义了一个自动分页的GridView. 思路:继承RelativeLayout,然后在里面放了一个viewpager和一个GridView... ...

  5. Developer Express控件gridcontrol中gridView的某一个单元格是否可以自由输入

    场景:在Developer Express控件gridcontrol中的gridView中,当医生开的临时医嘱的医嘱类型为"中草药","计价总量"单元格不可以自 ...

  6. 主表当中明细表字段的金额计算问题,操作控件是在gridview+aspnetPage

    做这个例子,主要是我在工作当中遇到一个主表的明细表的操作计算问题,也用了不少时间.操作计算的方式是这样的. 这个功能是在.net语言当中实现,操作过程当点击添加行,添加第一行时,当我输入金额的时候,累 ...

  7. RecyclerView 加入一个滑动控件bug处理 GridView只显示第一行

    如果RecyclerView 多样式布局,比如要加入一个展示多个图看的需求.自然想到用gridview给嵌套一下. 想法当然是可以的,但是发现,嵌套出来的效果是,gridview只显示一行. 想想原因 ...

  8. Xamarin控件使用之ListView

    listview单列多行的显示,以后再加多列多行的实例. [Activity(Label = "GraphicAll", LaunchMode = LaunchMode.Singl ...

  9. 扩展GridView控件——为内容项添加拖放及分组功能

    引言 相信大家对GridView都不陌生,是非常有用的控件,用于平铺有序的显示多个内容项.打开任何WinRT应用或者是微软合作商的网站,都会在APP中发现GridView的使用.“Tiles”提供了一 ...

随机推荐

  1. 什么是Actor

    本文已.Net语法为主,同时写有Scala及Java实现代码 严肃的说,演员是一个广泛的概念,作为外行人我对Actor 模型的定义: Actor是一个系统中参与者的虚拟人物,Actor与Actor之间 ...

  2. JS作用域就这么几句话

    JavaScript的作用域一直以来是前端开发中比较难以理解的知识点,对于JavaScript的作用域主要记住几句话,走遍天下都不怕... 一.“JavaScript中无块级作用域” 在Java或C# ...

  3. [ext4]010 磁盘布局 - 如何查找inode的磁盘位置

    在linux系统中,任何一个文件,都有一个inode与其对应,也就是说,在一个文件系统中,一个文件都有唯一的ino来标示他,那么在ext4系统中,ino是如何确定的哪? 当我们新创建的文件或目录时,会 ...

  4. [C#学习]1.Hello World

    在很多时候我们都是被helloworld带入编程的世界的,所以这句话应该算是我们程序员最熟悉的一句话了把.所以在这里,那我也照样以helloworld为例子来引入我们的C#学习. 在往常的hellow ...

  5. c#读取html

    第一部分:读取后,再次存入到源文件中Stream myStream = new FileStream("d:\\hhh.html", FileMode.Open);Encoding ...

  6. html页面顶部出现一段空白,检查控制台发现body 下出现&#65279字符,原因及解决办法

    html页面顶部出现一段空白,检查控制台发现body 下出现&#65279字符,原因及解决办法 分析: 原来是页面编码时增加了BOM,此页面后端数据主要是PHP语言,对PHP来讲PHP在设计时 ...

  7. OC—不可变字符串NSString

  8. 什么是mybatis 为什么要使用my batis

    1.定义MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.2.使用原因MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以使用 ...

  9. 远程登录aws

    AWS的EC2服务器是用密钥来认证的,在创建instance时,会提示,创建一个key pair,同时会提示下载一个xxx.pem的密钥文件到本地硬盘.下面是通过SecureCRT连接到EC2的操作步 ...

  10. 【 js 基础 】作用域和闭包

    一.编译过程 常见编译性语言,在程序代码执行之前会经历三个步骤,称为编译. 步骤一:分词或者词法分析 将由字符组成的字符串分解成有意义的代码块,这些代码块被称为词法单元. 例子:  var a = 2 ...