android如何添加控件监听器(三种方式)-kb88凯时官网登录

来自:网络
时间:2022-12-26
阅读:
免费资源网 - https://freexyz.cn/
目录

本文概述:

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

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

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

  • 编写思路:

    • 在布局文件中:

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

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

  • 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属性

  • 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方法

  • 布局代码:

  • 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("按钮被点击了");
        }
    }
    
  • 运行效果:

免费资源网 - https://freexyz.cn/
返回顶部
顶部
网站地图