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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构