当前位置:首页 > 谈天说地

Android如何添加控件监听器(三种方式)

34资源网2022-06-26502

本文概述:

  • 本文介绍了,在android中为控件添加监听的三种常见方式

    • 设置控件的onclick属性
    • 采用匿名内部类
    • mainactivity 实现 view.onclicklistener 接口

方式一:在布局中添加onclick属性

  • 编写思路:

    • 在布局文件中:

      • 指定控件 id
      • 指定控件onclick属性
    • 在mainactivity中:

      • 在oncreate中拿到控件实例
      • 在oncreate之外,创建监听方法(方法名与前面设置的onclick属性相同)
  • 布局代码:指定控件的onclick属性(已经被废弃掉了)

    <button
        ……
        android:id="@+id/button"
        android:onclick="buttonclick"
        …… />
    
  • activity代码:

    public class mainactivity extends appcompatactivity {
    ​
        private button button;
        
        @override
        protected void oncreate(bundle savedinstancestate) {
            super.oncreate(savedinstancestate);
            setcontentview(r.layout.activity_main2);
            //获取控件示例
            button = findviewbyid(r.id.button);
        }
    ​
        public void buttonclick(view view) {
           settoast("点击了button按钮");
        }
    ​
        public void settoast(string string){
            toast.maketext(this,string,toast.length_short).show();
        }
    }
    
  • 运行结果:可不可以限定toast的提示位置?比如说将toast放在中间去

方式二:采用匿名内部类

  • 编写思路:

    • 在布局文件中:指定控件 id

    • 在mainactivity中

      • 在oncreate内:

        • 获取控件实例
        • 为控件添加监听(使用匿名内部类重写onclick方法)
  • 布局代码:此时不能设置onclick属性

    <button
        ……
        android:id="@+id/button"
        …… />
    
  • java 代码

    public class mainactivity extends appcompatactivity {
    ​
        private button button;
    ​
        @override
        protected void oncreate(bundle savedinstancestate) {
            super.oncreate(savedinstancestate);
            setcontentview(r.layout.activity_main2);
    ​
            //获取控件示例
            button = findviewbyid(r.id.button);
    ​
            //添加监听
            button.setonclicklistener(new view.onclicklistener() {
                @override
                public void onclick(view view) {
                    settoast("点击了按钮");
                }
            });
        }
    ​
        public void settoast(string string){
            toast.maketext(this,string,toast.length_short).show();
        }
    }
    
  • 运行结果:

方式三:mainactivity 实现 view.onclicklistener 接口

  • 编写思路:

    • 在布局文件中:

      • 指定控件 id
    • 在mainactivity声明处:实现 view.onclicklistener 接口

    • 在mainactivity中:

      • 在oncreate方法内:

        • 拿到控件实例
        • 为控件注册监听器
      • 在oncreate方法外:重写onclick方法

  • 布局代码:

    <button
        ……
        android:id="@+id/button"
        …… />
    
  • mainactivity 代码

    public class mainactivity extends appcompatactivity implements view.onclicklistener {
    ​
        private button button;
    ​
        @override
        protected void oncreate(bundle savedinstancestate) {
            super.oncreate(savedinstancestate);
            setcontentview(r.layout.activity_main2);
    ​
            //获取控件示例
            button = findviewbyid(r.id.button);
            //为控件注册监听器
            button.setonclicklistener(this);
        }
    ​
        public void settoast(string string){
            toast.maketext(this,string,toast.length_short).show();
        }
    ​
        @override
        public void onclick(view view) {
            settoast("按钮被点击了");
        }
    }
    
  • 运行效果:

到此这篇关于android如何添加控件监听器(三种方式)的文章就介绍到这了,更多相关android 控件监听器内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/18069.html

分享给朋友:

相关文章

逍遥手机模拟器怎么用(逍遥安卓模拟器详细使用教程)

逍遥手机模拟器怎么用(逍遥安卓模拟器详细使用教程)

真正的5V5公平竞技对战,传承端游纯正体验。人气英雄,经典还原;公平竞技,实力至上;峡谷传说,掌心再现。策略、战术、意识、配合,在移动端重现峡谷战场乐趣。 为了庆祝大家期待已久的中国区开服,官方也带来了五大福利活动,用户可免费参与,并获得十…

抖音长视频怎么开通?抖音开通长视频的权限分享

抖音长视频怎么开通?抖音开通长视频的权限分享

经常玩抖音的朋友来说开通抖音1分钟长视频已经不是一件难事了。大家都知道抖音默认视频长度为15秒。只有达到一定要求才可以获得长视频权限。但是现在我们发现能发抖音长视频的朋友越来越多了。他们是怎么做到的呢?抖音怎么发长1分钟视频呢?抖音长视频是…

飞行汽车是一种应用层创新

飞行汽车是一种应用层创新

编者按:本文来自A轮财经,创业邦经授权发布。 作者|WX 今天在全球范围内,飞行汽车得到了越来越多的关注。 据摩根士丹利研报预计,2030年飞行汽车行业将形成3000亿美元的市场规模。2040年,该行业规模可能将达到1.5万亿美元。 作为新…

微信直接打开淘宝抖音,但李佳琦罗永浩带货,买不了

微信直接打开淘宝抖音,但李佳琦罗永浩带货,买不了

图源:摄图网 编者按:本文来自微信公众号IT时报(ID:vittimes),作者:江丽雯,编辑:郝俊慧 挨踢妹,排版:季嘉颖,创业邦经授权转载 11月29日,微信放开了对外链的限制。 当日发布的《关于〈微信外部链接内容管理规范〉的更新声明》…

静物拍摄怎样拍出高级感(静物拍照的技巧和角度)

静物拍摄怎样拍出高级感(静物拍照的技巧和角度)

静物摄影其实不如大家想象的一般轻巧,日常所见的普通物什和菜肴,要拍出静谧质感,不落俗套,反而更为困难。 不过,有了今天宇哥为大家推荐的美食静物摄影LR预设, 普普通通的原片也能变成物哀美学大作!镜头不能表现其可口百分之一的佳肴也能鲜亮诱人!…

网络信息安全方案设计(计算机网络安全与防范论文)

企业网络安全的重要性 随着网络技术的飞速发展,如今网络无所不在地影响着我们工作与生活,我们对网络的依赖越来越强。而伴随着网络技术的发展,网络安全问题也出现在我们眼前。可以说,有网络的地方就存在网络安全隐患。网络安全的含义具体是什么呢?国际标…