xamarin android如何监听单击事件
在xamarin android单击事件是最基础的事情,看过菜鸟上的android教程时,java写的都是监听事件,为一个按钮,单选按钮、多选按钮的单击事件有三种,前面两种用的非常普遍,也很简易,我这里主要就是写一下xamarin android中的监听事件。
1.使用委托:
button.Click += delegate {
button.Text = string.Format (“{0} clicks!”, count++);
};
2:使用Lamda表达式 :
button.Click += (s, e) =>{
button.Text = string.Format (“{0} clicks!”, count++);
};
3.Xamarin android单选按钮监听事件:
namespace App914
{
[Activity(Label = "App914", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity,IOnCheckedChangeListener
{
int count = 1; /// <summary>
/// 实现OnCheckedChangeListener的接口
/// </summary>
/// <param name="group"></param>
/// <param name="checkedId"></param>
public void OnCheckedChanged(RadioGroup group, int checkedId)
{
RadioButton rdBtn = (RadioButton)FindViewById(checkedId);
Toast.MakeText(this, rdBtn.Text, ToastLength.Short).Show();
}
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
RadioGroup rg = FindViewById<RadioGroup>(Resource.Id.rg);
rg.SetOnCheckedChangeListener(this);
}
}
}
布局文件我就不贴了,注意1.使用RadioGroup包含两个或者多个RadioButton ,,注意RadioGroup,RadioButton每个ID都必须要写上2.实现RadioGroup单击事件的接口
IOnCheckedChangeListener
4.Xamarin android按钮监听事件:
namespace App914
{
[Activity(Label = "App914", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity,View.IOnClickListener
{
int count = 1;
public void OnClick(View v)
{
Button btn = FindViewById<Button>(Resource.Id.MyButton);
btn.Text =string.Format( "实现xamarin android单击监听事件{0}",count++);
}
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle); // Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
Button button = FindViewById<Button>(Resource.Id.MyButton);
button.SetOnClickListener(this);
}
}
}
普通按钮实现单击事件的监听,注意接口是IOnClickListener
5.Xamarin android按钮监听事件:
namespace App914
{
[Activity(Label = "App914", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity, CompoundButton.IOnCheckedChangeListener
{
public void OnCheckedChanged(CompoundButton compoutButton,Boolean b)
{
if (compoutButton.Checked)
{
Toast.MakeText(this,compoutButton.Text.ToString(),ToastLength.Long).Show();
}
}
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
CheckBox cb_1 = (CheckBox)FindViewById(Resource.Id.cb_one);
CheckBox cb_2 = (CheckBox)FindViewById(Resource.Id.cb_two);
CheckBox cb_3 = (CheckBox)FindViewById(Resource.Id.cb_three); cb_1.SetOnCheckedChangeListener(this);
cb_2.SetOnCheckedChangeListener(this);
cb_3.SetOnCheckedChangeListener(this);
}
}
}
多选按钮的监听事件布局文件我就不贴出来,同样是要注意的几点和RadioButton的监听事件一样
总结:
虽然说在xamarin中事件的监听用的不多,和lamda、delegate比起来也不方便,但是非常有必要了解一下,新手学xamarin的时候监听还是很有必要学一下的,不要的话参考菜鸟上的android教程不易理解,毕竟java android中就是用的监听,同时要注意的是每个元素的监听事件所实现的接口不一样,这是要注意的一点
xamarin android如何监听单击事件的更多相关文章
- 大叔也说Xamarin~Android篇~监听返回键,单击返回某个webView,双击退出
回到目录 这个操作在原生android里是很容易实现的,在xamarin里也不难,在activity里有方法OnKeyDown,我们只需要重写一下就可以了,然后通过webView重新加载到要返回的页面 ...
- Xamarin~Android篇~监听返回键,单击返回某个webView,双击退出
https://www.cnblogs.com/lori/p/5088627.html DateTime? lastBackKeyDownTime; public override bool OnKe ...
- Android EditText截获与监听输入事件
Android EditText截获与监听输入事件共有2种方法: 1.第一种方法:使用setOnKeyListener(),不过这种方式只能监听硬键盘事件. edittext.setOnKeyLi ...
- Android如何监听蓝牙耳机的按键事件
写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到.如果想要十分地了解为什么,那就按照我规划的一步一步来理解.以下测试环境以手头上有的「Bluedio + 红米手机」. 1.蓝牙耳机的 ...
- Android如何监听蓝牙耳机的按键事件(转)
源: Android如何监听蓝牙耳机的按键事件 写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到.如果想要十分地了解为什么,那就按照我规划的一步一步来理解.以下测试环境以手头上有的「 ...
- Android实现监听控件点击事件
Android实现监听控件点击事件 引言 这篇文章主要想写一下Android实现监听点击事件的几种方法,Activity和Fragment实现起来有些方法上会有些不同,这里也略做介绍. 最近一直在忙一 ...
- Android怎样监听蓝牙耳机的按键事件
Android怎样监听蓝牙耳机的按键事件 写在前面: 直接想要代码非常easy,你直接把滚动栏拉到最底端就能够看到.假设想要十分地了解为什么,那就依照我规划的一步一步来理解.下面測试环境以手头上有的「 ...
- Android ScrollView监听滑动到顶部和底部的两种方式(你可能不知道的细节)
Android ScrollView监听滑动到顶部和底部,虽然网上很多资料都有说,但是不全,而且有些细节没说清楚 使用场景: 1. 做一些复杂动画的时候,需要动态判断当前的ScrollView是否滚动 ...
- Fragment中监听onKey事件,没你想象的那么难。
项目中越来越多的用到Fragment,在用Fragment取代TabHost的时候遇到了一个问题,我们都知道,TabHost的Tab为Activity实例,有OnKey事件,但是Fragment中没有 ...
随机推荐
- .net 系列:Expression表达式树、lambda、匿名委托 的使用
首先定义一个泛型委托类型,如下: public delegate T Function<T>(T a, T b); 实现泛型委托的主体代码,并调用: public static strin ...
- Regasm
程序集注册工具(Regasm.exe) 读取程序集中的元数据,并将所需的项添加到注册表中.注册表允许COM 客户程序以透明方式创建.NET Framework类.类一经注册,任何COM 客户程序都 ...
- Javascript 常用类型检测
1.判断变量是否为数组的数据类型? 方法一 :判断其是否具有"数组性质",如slice()方法.可自己给该变量定义slice方法,故有时会失效. 方法二 :obj instance ...
- iscroll遇到的两个坑
最近移动端闪付遇到的两个坑做下总结: 1.使用iscroll后,滑动并没有生效 解决方案: 首先要查看:结构是否正确: <div id="wrapper"> //w ...
- Springmvc ModelAndView踩过的坑之HttpServletResponse response
先抛出问题.以下两个方法声明有毛区别: @RequestMapping(value = "/rg") public void rg(@PathVariable Long pageI ...
- Common Data Service (CDS) 初探
作者:陈希章 发表于 2017年12月16日 前言 Common Data Service(以下简称为CDS),通用数据服务是一个创新性的基础功能,这是微软试图打造一个全新的基于SaaS模式的数据服务 ...
- 我这样减少了26.5M Java内存!
WeTest 导读 历时五天的内存优化已经结束,这里总结一下这几天都做了什么,有哪些收获.优化了,或可以优化的地方都有哪些.(因为很多事还没做,有些结论需要一定样本量才能断定,所以叫一期)一期优化减少 ...
- python 初学之账户登录
要求: 输入用户名密码正确,提示登录成功, 输入三次密码错误,锁定账户. 开始: 使用两个文件: 密码账户文件 文件格式: jason 23456 tom 56789 tang ...
- KafkaManager中Group下不显示对应Topic的解决方案
一.软件版本 Kafka:0.8.2.1 KafkaManager:1.2.9.10 二.问题现象 点击Consumer下某个组,显示如下图所示的异常,查看KafkaManager的Applicati ...
- 【MySQL】(4)操作数据表中的记录
1. 插入记录INSERT 方法一: INSERT [INTO] tbl_name [(clo_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),( ...