Mono for android,Xamarin点击事件的多种写法
(一)原本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点击事件的多种写法的更多相关文章
- Android笔记——Button点击事件几种写法
Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...
- Android学习-----Button点击事件几种写法
Button点击事件:大概可以分为以下几种: 匿名内部类 定义内部类,实现OnClickListener接口 定义的构造方法 用Activity实现OnClickListener接口 指定Button ...
- 【Android】按钮点击事件的常用写法
学习总结: 最近学习了Android点击事件的常用写法.点击事件会触发监听对象身上的回调,常用写法有以下四种: 方法一:使用匿名内部类. public class MainActivity exten ...
- Android journey3 @点击事件的4种写法
对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件: package com.itheima.phone; impo ...
- [Android]Java中点击事件的四种写法
点击事件的必备条件:实现OnClickListener接口,重写onclick(View v)方法 以拨号简单案例为例,如下图效果: 逻辑流程: 获取点击对象,获取数据 给对象设置监听类 实现OnCl ...
- Android——自定义多击事件
一:使用场景 Android本身内置了点击.双击事件,但是某些时候,我们可能需要多击事件. 例如:某个秘密入口,为了避免用户误操作点击.双击到了触发开关而进入到不该被用户看到的页面,我们可以为入口控件 ...
- Android笔记---点击事件的四种写法
Android 点击事件的四种写法: 1. 以内部类的形式实现 OnClickListener 接口.定义点击事件 class MainActivity extents Activity{ // .. ...
- Android 为点击事件添加震动效果
Android 点击Button 实现震动效果 学习自:网络 Overview 在Android 的点击效果中,遇到震动效果的还是很多的. 接下来就让我们看一下如何实现震动效果. 所需要的权限 如果我 ...
- Android实现点击事件的4种方式
一.通过在activity_main.xml中,按钮button控件中添加onclick事件实现 在 activity_main.xml 对应的按钮Button中加入下面红色事件 <Butt ...
随机推荐
- PyQt(Python+Qt)学习随笔:containers容器部件GroupBox分组框介绍
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 1.主要属性 GroupBox分组框是一个对多个部件进行编组的框架容器,可以带有标题(title属性 ...
- swagger添加统一认证参数
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Co ...
- Day7 【Scrum 冲刺博客】
每日会议总结 昨天已完成的工作 方晓莹(PIPIYIng) 对接车位管理接口 处理对接接口遇到的bug和错误 方子茵(Laa-L) 暂无 黄芯悦(Sheaxx) 完成住户车位查询页面 完成住户物业报修 ...
- 第 4篇 Scrum 冲刺博客
一.站立式会议 1.站立式会议照片 2.昨天已完成的工作 登录信息的匹配 3.今天计划完成的工作 ①售货员页面功能 ②销售排行 4.工作中遇到的困难 ①页面按钮太过复杂,逻辑错乱 ②有的同学数据库驱动 ...
- P5785 [SDOI2012]任务安排
本题解用于本蒟蒻加深算法印象,也欢迎大家阅读 本篇题解将分为四块,一步一步地讲解本题, Part 1: O(n^3) \(n^3\) 算法应该非常的显然,我们设 \(f_{i,j}\) 为到 \(i\ ...
- 代理ip知识
一.没有使用代理服务器的情况: REMOTE_ADDR = 您的 IP HTTP_VIA = 没数值或不显示 HTTP_X_FORWARDED_FOR = 没数值或不显示 二.使用 ...
- 验证pdf文件的电子章签名
pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="htt ...
- VMware 虚拟机网卡设置与外网访问
1 查看虚拟机网卡设置,查看虚拟机网关. 2 然后,设置本地机器VMnet8网卡的IP地址和子网掩码.切记,IP地址不能与虚拟机网卡IP地址相同. 3 配置虚拟机Centos的ens33网卡 TYPE ...
- Linux端口被占用解决
有时候关闭软件后,后台进程死掉,导致端口被占用.下面以JBoss端口8083被占用为例,列出详细解决过程. 解决方法: 1.查找被占用的端口 netstat -tln netstat -tln | g ...
- Unity 操作快捷键
Q Hand(手形)工具 可以平移整个Scene视图 W Translate(移动)工具 移动所选择的游戏对象 E Rotate(旋转)工具 按任意角度旋转游戏 ...