xamarin android如何监听单击事件

简介: 在xamarin android单击事件是最基础的事情,看过菜鸟上的android教程时,java写的都是监听事件,为一个按钮,单选按钮、多选按钮的单击事件有三种,前面两种用的非常普遍,也很简易,我这里主要就是写一下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中就是用的监听,同时要注意的是每个元素的监听事件所实现的接口不一样,这是要注意的一点





目录
相关文章
|
7天前
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
19天前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
63 9
|
20天前
|
监控 Android开发 开发者
Android经典面试题之实战经验分享:如何简单实现App的前后台监听判断
本文介绍在Android中判断应用前后台状态的两种方法:`ActivityLifecycleCallbacks`和`ProcessLifecycleOwner`。前者提供精细控制,适用于需针对每个Activity处理的场景;后者简化前后台检测,适用于多数应用。两者各有优劣:`ActivityLifecycleCallbacks`更精确但复杂度高;`ProcessLifecycleOwner`更简便但可能在极端场景下略有差异。根据应用需求选择合适方法。
19 2
|
1月前
|
API Android开发
Android 监听Notification 被清除实例代码
Android 监听Notification 被清除实例代码
|
2月前
|
Android开发
技术经验分享:Android前后台切换的监听
技术经验分享:Android前后台切换的监听
31 2
|
2月前
|
XML Android开发 数据格式
37. 【Android教程】基于监听的事件处理机制
37. 【Android教程】基于监听的事件处理机制
40 2
|
3月前
|
Android开发
Android监听USB设备插拔
Android监听USB设备插拔
446 7
|
2天前
|
JavaScript 前端开发 Java
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
IT寒冬使APP开发门槛提升,安卓程序员需转型。选项包括:深化Android开发,跟进Google新技术如Kotlin、Jetpack、Flutter及Compose;研究Android底层框架,掌握AOSP;转型Java后端开发,学习Spring Boot等框架;拓展大前端技能,掌握JavaScript、Node.js、Vue.js及特定框架如微信小程序、HarmonyOS;或转向C/C++底层开发,通过音视频项目如FFmpeg积累经验。每条路径都有相应的书籍和技术栈推荐,助你顺利过渡。
13 3
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
|
6天前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的世界中,选择正确的平台是关键。本文通过比较安卓和iOS开发的核心差异,揭示平台选择如何影响应用的性能、用户体验和市场覆盖。我们将深入探讨各自的开发环境、编程语言、用户界面设计原则以及发布流程,以帮助开发者和企业做出明智的决策。
27 9
|
1天前
|
搜索推荐 Android开发 iOS开发
探索安卓与iOS开发的差异性与互补性
【8月更文挑战第19天】在移动应用开发的广阔天地中,安卓与iOS两大平台各据一方,引领着行业的潮流。本文将深入探讨这两个平台在开发过程中的不同之处以及它们之间的互补关系,旨在为开发者提供一个全面的视角,帮助他们更好地把握市场动态,优化开发策略。通过分析各自的开发环境、编程语言、用户界面设计、性能考量及市场分布等方面,我们将揭示安卓与iOS开发的独特魅力和挑战,同时指出如何在这两者之间找到平衡点,实现跨平台的成功。