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

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

34资源网2022-06-26575

本文概述:

  • 本文介绍了,在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 控件监听器内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

版权声明:34楼发布

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

分享给朋友:

相关文章

37句老师的经典励志短句

37句老师的经典励志短句

1、无知者无畏并不可怕,真正可怕的是无知者还无所谓。请你记住:不要用无所谓的态度原谅自己,对待一切,那会使一切变得对你无所谓,也会使你成为一个无所谓而又无所成的痛苦的边缘人。…

100元内最好的音箱选择哪种好?看看这款适合你不?

100元内最好的音箱选择哪种好?看看这款适合你不?

目前市面上的音箱种类繁多,有的音质非常好,有的音质比较差,有些朋友酷爱音乐,可是又不想花太多钱在这些音箱上面,一般都会选择一些100元以内的音箱。那么100元内最好的音箱选择哪种好?下面,小编给大家推荐一款迷你型的小音箱,大家一起来看看吧。…

打工人是什么梗出自哪里?打工人的梗为什么这么火?

打工人是什么梗出自哪里?打工人的梗为什么这么火?

近日,看到打工人这词很火,很多小伙伴肯定和我一样,都想知道“打工人”这个词为什么这么火吧?那么,接下来我就跟大家说说打工人是什么梗出自哪里?这词出自哪里无从考证,不过肯定是某些有头脑的网友发明的,至于出自哪位网友?我们一起来了解相关情况吧。…

令人受益的三种说话方式了解一下

令人受益的三种说话方式了解一下

有人说:人与人之间最累的关系就是感觉话不投机,说得越多越费劲,最后只能无话可说其实,想让别人喜欢听你说话,要先掌握正确的表达方式。你对别人说话的样子,决定了你在别人眼中的样子。…

直播间里“拆盲盒”,二手电商平台「Whatnot」拆出15亿美元丨快鲤鱼海外

直播间里“拆盲盒”,二手电商平台「Whatnot」拆出15亿美元丨快鲤鱼海外

靠着直播带货和“拆盲盒”,二手潮品电商平台 Whatnot 在今年已经完成了3轮融资,公司估值达到 15 亿美元,成立2年便跻身独角兽之列。 通过商品认证转卖、直播拍卖、直播间开“盲盒”等看似有点“中国味”的玩儿法,Whatnot一改美国二…

微信开放外链,社交想象力有限

微信开放外链,社交想象力有限

编者按:本文来自新熵,创业邦经授权发布,封面图来自摄图网。 作者|古廿 编辑|伊页 网易云音乐上市,丁磊在现场讲了很多的未来,比如元宇宙。但未来是摸不着看不见的,所以愿意放眼未来的人,多半还要立足脚下。 脚下的立足往往来自两个方面:一…