xamarin android如何监听单击事件

标签: android xamarin xamarin监听事件 radiobutton监听事件 单击监听事件
5838人阅读 评论(2) 收藏 举报
分类:

在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 Forms-通用事件绑定(Event Binding)的实现

对熟悉Xaml和WPF的朋友来说,Xamarin的Forms真的是一个神器。在Xamarin Forms里,Xaml还是那熟悉的Xaml(至少大体上是这样的),C#也还是那熟悉的C#,编译后的结果却是...
  • toy_shop_owner
  • toy_shop_owner
  • 2014-09-01 06:06:57
  • 3103

Xamarin.Android实现手势监听方法

Xamarin.Android的手势监听方法
  • xiahn1a
  • xiahn1a
  • 2014-07-08 05:32:39
  • 1332

xamarin android自定义标题栏(自定义属性、回调事件)

自定义控件的有3种方式: 自绘控件:继承View类,所展示的内容在OnDraw方法中绘制出来 组合控件:不需要绘制视图显示的内容,只用系统原生的控件,将几个控件组合起来(这就是这篇文章要写的自定义标题...
  • kebi007
  • kebi007
  • 2017-07-19 21:45:55
  • 3271

Xamarin.Android中使用android:onClick="xxx"属性

在原生Android开发中,为一个View增加点击事件,有三种方式; 1、使用匿名对象 ((ImageButton) findViewById(R.id.music_cover)) .setOnCli...
  • super_luo
  • super_luo
  • 2015-01-20 10:48:16
  • 1961

5.Xamarin.Forms里按钮的实现

其实Xamarin.Forms中的按钮的用发和WPF的几乎一样。 先看看这个吧,创建一个按钮并添加点击事件。class aaa:ContentPage { StackLayo...
  • qq_22033759
  • qq_22033759
  • 2015-10-20 16:56:31
  • 2359

xamarin学习笔记A06(安卓RecycleView点击事件)

(每次学习一点xamarin就做个学习笔记视频来加深记忆巩固知识) 如有不正确的地方,请帮我指正。实现RecyclerView中Item的基本点击事件 准备工作 从Nuget下载安装 Xama...
  • junshangshui
  • junshangshui
  • 2017-06-18 11:56:41
  • 486

Xamarin的坑 - 绑定(二) - 高德iOS SDK(.Framework)绑定的一些事

Xamarin Binding 系列 - Binding Framework
  • u014388424
  • u014388424
  • 2017-02-22 17:58:31
  • 2756

android ListView包含Checkbox滑动时状态改变

Xamarin android中ListView中的CheckBox在滑动的时候失去状态的详解:
  • kebi007
  • kebi007
  • 2016-10-01 02:29:21
  • 2470

xamarin android checkbox自定义样式

xamarin android checkbox自定义样式
  • kebi007
  • kebi007
  • 2016-09-13 19:56:40
  • 4437

Xamarin.Android ListView Item 内部控件Click事件

1前言 ListView 确实是最常用也确实是最“麻烦”的控件,在使用过程中你会发现各种各样的问题,在这里就ListView复杂Item布局内部Click事件做一个思路记录 2问题 在Activ...
  • sinat_26562875
  • sinat_26562875
  • 2016-05-18 22:20:40
  • 1602
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 64万+
    积分: 4566
    排名: 8066
    博客专栏
    最新评论