开发者社区> 操张林> 正文

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





版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android利用广播监听按下HOME和RECENT_APPS键
MainActivity如下: package cn.testhomekey; import android.os.Bundle; import android.
972 0
Android利用广播监听设备安装和卸载应用程序
MainActivity如下: package cn.testappaddandremove; import android.os.Bundle; import android.
877 0
Xamarin for android:为button设置click事件的几种方法
原文:Xamarin for android:为button设置click事件的几种方法 在Xamarin中一个最基础的事情,就是为一个button指定click事件处理方法,可是即使是这么一件事也有好几种方法,我在下面列出几种。
1443 0
Android监听手机网络变化
Android监听手机网络变化 手机网络状态发生变化会发送广播,利用广播接收者,监听手机网络变化 效果图 注册广播接收者 …… ...
641 0
Android开发14——监听内容提供者ContentProvider的数据变化
  一、提出需求 有A,B,C三个应用,B中的数据需要被共享,所以B中定义了内容提供者ContentProvider;A应用修改了B应用的数据,插入了一条数据。有这样一个需求,此时C应用需要得到数据被修改的通知并处理相应操作。     二、示例代码 A应用 /** * 对内容提供者进行操作 * * @author XY * */ public cla
954 0
Android 当数据库变动时更新UI数据 注册观察者监听
/** * Register an observer for provider status changes - we will need to * reflect them in the UI.
662 0
+关注
63
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载