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

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

34资源网2022-06-26559

本文概述:

  • 本文介绍了,在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

分享给朋友:

相关文章

适合年轻人创业项目,投资小又赚钱多的项目推荐

适合年轻人创业项目,投资小又赚钱多的项目推荐

社会在发展,科技在更新,生活也在发生着翻天覆地的变化。但是,唯一不变的是,年轻人创业的心,一直都没有变过。每个时代都会有很多想创业的年轻人,只是每个时代的年轻人创业项目都有所不同,那么,今天我们就说说适合现在年轻人创业的项目。…

华盛顿:自己不能胜任的事情,切莫轻易答应别人

华盛顿:自己不能胜任的事情,切莫轻易答应别人

自己不能胜任的事情,切莫轻易答应别人,一旦答应了别人,就必须实践自己的诺言。——华盛顿 这则名言告诉我们什么道理?我们应该怎么做?…

抖音传话筒项目(傻瓜式复制粘贴轻松月入3000+)

抖音传话筒项目(傻瓜式复制粘贴轻松月入3000+)

可能你觉得你写不出优秀的文案,可能你觉得你没办法配音,可能你觉得不好意思露脸,但又想通过抖音来赚钱,那么今天给大家来说说这个抖音传话筒项目,只需要复制粘贴,一个月轻松赚到3000+,无需露脸配音,更加不需要写文案。…

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

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

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

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

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

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

汽车中的8848,高合HiPhi X顶配售价高达80万,你会买单吗?

汽车中的8848,高合HiPhi X顶配售价高达80万,你会买单吗?

编者按:本文来自微信公众号银杏科技(ID:yinxingcj),作者:负束,编辑:白望,创业邦经授权转载 2015年9月丁磊加入乐视,担任乐视超级汽车联合创始人、法拉第未来全球CEO。 当时丁磊一定没想到,乐视很快就会陷入了资金链断裂,贾跃…