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中就是用的监听,同时要注意的是每个元素的监听事件所实现的接口不一样,这是要注意的一点

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
BottomSheetBehavior 之 java.lang.IllegalArgumentException: The view is...
AndroidRuntime: FATAL EXCEPTION: main Process: me.chunsheng.uberdriver, PID: 13674 java.lang.RuntimeException: Unable to start activity ComponentInfo{me.chunsheng.uberdriver/me.chunsheng.uberdriver.MainActivity}: java.lang.IllegalArgumentException: The view is not associated with BottomSheetBehavior at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2503) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2570) at android.app.ActivityThread.access$800(Act...
- 下一篇
iOS - QRCode 二维码
1、QRCode 在 iOS7 以前,在 iOS 中实现二维码和条形码扫描,我们所知的有,两大开源组件 ZBar 与 ZXing。iOS7 之后可以利用系统原生 API 生成二维码, iOS8 之后可以生成条形码, 系统默认生成的颜色是黑色。 1、ZBar 在扫描的灵敏度上,和内存的使用上相对于 ZXing 上都是较优的,但是对于 “圆角二维码” 的扫描确很困难。 2、ZXing 是 Google Code 上的一个开源的条形码扫描库,是用 java 设计的,连 Google Glass 都在使用的。但有人为了追求更高效率以及可移植性,出现了 c++ port。Github 上的 Objectivc-C port,其实就是用 OC 代码封装了一下而已,而且已经停止维护。这样效率非常低,在 instrument 下面可以看到 CPU 和内存疯涨,在内存小的机器上很容易崩溃。 3、AVFoundation 无论在扫描灵敏度和性能上来说都是最优的,所以毫无疑问我们应该切换到 AVFoundation,需要兼容 iOS 6 或之前的版本可以用 ZBar 或 ZXing 代替。 在 iOS8 +...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装Docker,最新的服务器搭配容器使用