(一)原本java的写法(相信很多是学过java的):

需要实现接口View.IOnClickListener,最好也继承类:Activity,因为View.IOnClickListener接口又继承了IJavaObject, IDisposable接口,所以还学要实现这两个接口里面的成员,而Activity已经实现可了这两个接口的成员,就不需要我们再写了,毕竟我们大部分只想重写View.IOnClickListener里面的OnClick函数。(如果自定义的类只是实现了View.IOnClickListener接口,不继承Activity,就需要实现另外2个接口的其他成员,在vs中选中接口,使用快捷键Alt+Shift+F10,可快速实现接口)

代码如下:

 1 using System;
2 using Android.App;
3 using Android.Content;
4 using Android.Runtime;
5 using Android.Views;
6 using Android.Widget;
7 using Android.OS;
8
9 namespace App2
10 {
11 [Activity(Label = "App2", MainLauncher = true, Icon = "@drawable/icon")]
12
13
14 public class MainActivity : Activity, View.IOnClickListener
15 {
16 Button button;
17 public void OnClick(View v)
18 {
19 button.Text = string.Format("{0} clicks!", v.Id);
20 }
21 protected override void OnCreate(Bundle bundle)
22 {
23 base.OnCreate(bundle);
24
25 // Set our view from the "main" layout resource
26 SetContentView(Resource.Layout.Main);
27
28 // Get our button from the layout resource,
29 // and attach an event to it
30 button = FindViewById<Button>(Resource.Id.MyButton);
31 button.SetOnClickListener(this);
32
33 }
34 }
35 }

当然也可以自己定义一个类,实现接口,重写OnClick函数,然后button.SetOnClickListener(你自定义类的实例);

(二)接下来介绍C#的4种写法(其实大同小异)

1.第一种(创建模板就有的):

1 Button button = FindViewById<Button>(Resource.Id.MyButton);
2 button.Click += delegate { button.Text = string.Format ("{0} clicks!", count++);};

2.第二种

 1 namespace App2
2 {
3 [Activity(Label = "App2", MainLauncher = true, Icon = "@drawable/icon")]
4
5
6 public class MainActivity : Activity, View.IOnClickListener
7 {
8 int count = 1;
9 Button button;
10
11 protected override void OnCreate(Bundle bundle)
12 {
13 base.OnCreate(bundle);
14
15 // Set our view from the "main" layout resource
16 SetContentView(Resource.Layout.Main);
17
18 // Get our button from the layout resource,
19 // and attach an event to it
20 button = FindViewById<Button>(Resource.Id.MyButton);
21 button.Click +=button_Click;
22
23 }
24
25 private void button_Click(object sender, EventArgs e)
26 {
27 button.Text = string.Format("{0} clicks!", count++);
28 }
29
30
31 }
32 }

3.第三种

 1 public class MainActivity : Activity, View.IOnClickListener
2 {
3 int count = 1;
4 Button button;
5
6 protected override void OnCreate(Bundle bundle)
7 {
8 base.OnCreate(bundle);
9
10 // Set our view from the "main" layout resource
11 SetContentView(Resource.Layout.Main);
12
13 // Get our button from the layout resource,
14 // and attach an event to it
15 button = FindViewById<Button>(Resource.Id.MyButton);
16 button.Click += new EventHandler(button_Click);
17
18 }
19
20 private void button_Click(object sender, EventArgs e)
21 {
22 button.Text = string.Format("{0} clicks!", count++);
23 }
24
25
26 }

4.第四种

 1 namespace App2
2 {
3 [Activity(Label = "App2", MainLauncher = true, Icon = "@drawable/icon")]
4
5
6 public class MainActivity : Activity, View.IOnClickListener
7 {
8 int count = 1;
9 Button button;
10
11 protected override void OnCreate(Bundle bundle)
12 {
13 base.OnCreate(bundle);
14
15 // Set our view from the "main" layout resource
16 SetContentView(Resource.Layout.Main);
17
18 // Get our button from the layout resource,
19 // and attach an event to it
20 button = FindViewById<Button>(Resource.Id.MyButton);
21 button.Click += (sender, e) =>{ button.Text = string.Format ("{0} clicks!", count++);};
22
23 }
24 }
25 }

Mono for android,Xamarin点击事件的多种写法的更多相关文章

  1. Android笔记——Button点击事件几种写法

    Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...

  2. Android学习-----Button点击事件几种写法

    Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...

  3. 【Android】按钮点击事件的常用写法

    学习总结: 最近学习了Android点击事件的常用写法.点击事件会触发监听对象身上的回调,常用写法有以下四种: 方法一:使用匿名内部类. public class MainActivity exten ...

  4. Android journey3 @点击事件的4种写法

    对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件: package com.itheima.phone; impo ...

  5. [Android]Java中点击事件的四种写法

    点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...

  6. Android——自定义多击事件

    一:使用场景 Android本身内置了点击.双击事件,但是某些时候,我们可能需要多击事件. 例如:某个秘密入口,为了避免用户误操作点击.双击到了触发开关而进入到不该被用户看到的页面,我们可以为入口控件 ...

  7. Android笔记---点击事件的四种写法

    Android 点击事件的四种写法: 1. 以内部类的形式实现 OnClickListener 接口.定义点击事件 class MainActivity extents Activity{ // .. ...

  8. Android 为点击事件添加震动效果

    Android 点击Button 实现震动效果 学习自:网络 Overview 在Android 的点击效果中,遇到震动效果的还是很多的. 接下来就让我们看一下如何实现震动效果. 所需要的权限 如果我 ...

  9. Android实现点击事件的4种方式

    一.通过在activity_main.xml中,按钮button控件中添加onclick事件实现 在   activity_main.xml 对应的按钮Button中加入下面红色事件 <Butt ...

随机推荐

  1. spring java config配置搭建工程资料收集(网文)

    https://blog.csdn.net/poorcoder_/article/details/70231779 https://github.com/lovelyCoder/springsecur ...

  2. PyQt(Python+Qt)学习随笔:formLayout的layoutRowWrapPolicy属性

    Qt Designer的表单布局(formLayout)中,layoutRowWrapPolicy用于控制表单布局中表单行的标签和输入部件之间是否换行.如图: 上图中蓝色标记圈起来的下拉列表数据是其可 ...

  3. 【题解】「CF675A」Infinite Sequence

    我用的是:分类讨论+暴力 其中分类讨论中,我用了一种namespace名命名空间.如果: \(c = 0\) : 当 \(a == b\) 时,输出 \(YES\) 否则 \(NO\) \(c < ...

  4. 题解 CF830D Singer House

    \(\texttt{Solution}\) 首先考虑 \(\texttt{dp}\) 维护题目要求的深度为 \(i\), 每个节点最多经过一次的不同有向路径数量 \(f_i\). 明显的,只维护这个东 ...

  5. 【题解】NOI 系列题解总集

    每次做一道 NOI 系列的估计都很激动吧,对于我这种萌新来说( P1731 [NOI1999]生日蛋糕 练习剪枝技巧,关于剪枝,欢迎看我的垃圾无意义笔记 这道题是有一定难度的,需要运用各种高科技剪枝( ...

  6. Jmeter(8)分布式测试

    通过Jmeter远程启动功能,把一台windows机器作为控制器,远程控制其他多个Windows或linux压力机,把压力分散到多台执行机器上,从而实现高并发,并在控制机上搜集测试结果 Jmeter分 ...

  7. 高速缓冲存储器Cache

    目录 概述 问题的提出 局部性原理 命中与未命中 Cache的命中率 Cache-主存系统的效率 例题 工作原理 地址映射方式(本节最重要) 直接映射 全相联映射 组相联映射 例子 替换策略 例题 写 ...

  8. JavaSE09-(练手)简易学生管理系统

    1.学生管理系统实现步骤 案例需求 系统主要功能如下: 添加学生:通过键盘录入学生信息,添加到集合中 删除学生:通过键盘录入要删除学生的学号,将该学生对象从集合中删除 修改学生:通过键盘录入要修改学生 ...

  9. 来感受Linux命令行的“真香定律”

    Shell看起来只是一个黑黑的命令框,刚开始接触会觉得很丑,毕竟与Win/Mac的华丽界面比起来,命令行终端直接可以丑拒了.但是,实际上它的功能要强大得多,毕竟Linux一开始就是广泛应用于服务器,通 ...

  10. windows宿主机访问ubuntu虚拟机中的docker服务

    查看docker容器地址和虚拟机地址 windows主机中添加路由 #route -p add 172.17.0.0 mask 255.255.0.0 虚拟机地址 route -p add 172.1 ...