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





目录
相关文章
|
3月前
|
Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
3月前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
Android面试高频知识点(1) 图解 Android 事件分发机制
51 1
|
3月前
|
XML 前端开发 Android开发
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
Android面试高频知识点(1) 图解Android事件分发机制
|
3月前
|
Android开发
Android 事件分发机制详细解读
Android 事件分发机制详细解读
46 5
|
5月前
|
图形学 Android开发
小功能⭐️Unity调用Android常用事件
小功能⭐️Unity调用Android常用事件
|
5月前
|
Android开发
Android面试高频知识点(1) 图解 Android 事件分发机制
在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,同时事件分发机制也是Android面试必问考点之一,如果你能把下面的一些事件分发图当场画出来肯定加分不少。废话不多说,总结一句:事件分发机制很重要。
205 9
|
6月前
|
监控 Android开发 开发者
Android经典面试题之实战经验分享:如何简单实现App的前后台监听判断
本文介绍在Android中判断应用前后台状态的两种方法:`ActivityLifecycleCallbacks`和`ProcessLifecycleOwner`。前者提供精细控制,适用于需针对每个Activity处理的场景;后者简化前后台检测,适用于多数应用。两者各有优劣:`ActivityLifecycleCallbacks`更精确但复杂度高;`ProcessLifecycleOwner`更简便但可能在极端场景下略有差异。根据应用需求选择合适方法。
48 2
|
5月前
|
开发工具 Android开发
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
Android项目架构设计问题之组件A通知组件B某个事件的发生如何解决
45 0
|
6月前
|
API Android开发
Android 监听Notification 被清除实例代码
Android 监听Notification 被清除实例代码
|
1月前
|
搜索推荐 前端开发 API
探索安卓开发中的自定义视图:打造个性化用户界面
在安卓应用开发的广阔天地中,自定义视图是一块神奇的画布,让开发者能够突破标准控件的限制,绘制出独一无二的用户界面。本文将带你走进自定义视图的世界,从基础概念到实战技巧,逐步揭示如何在安卓平台上创建和运用自定义视图来提升用户体验。无论你是初学者还是有一定经验的开发者,这篇文章都将为你打开新的视野,让你的应用在众多同质化产品中脱颖而出。
53 19