• Android开发之基于监听的事件处理




    在Android 应用开发过程中,常用监听事件如下:
    (1) ListView事件监听
    setOn ItemSelectedListener:鼠标滚动时触发
    setOnItemClickListener: 点击时触发
    (2 )EditText 事件监听
    setOnKeyListener: 获取焦点时触发
    (3) RadioGroup事件监听
    setOnCheckedChangeListener: 点击时触发
    (4) CheckBox事件监听
    setOnCheckedChangeListener :点击时触发
    (5 )Spinner事件监听
    setOnltemSelectedListener:点击时触发

     

    (6) DatePicker 事件监听

    onDateChangedListener: 日期改变时触发

    (7 )DatePickerDialog 事件监听
    onDateSetListener:设置日期时触发
    (8) TimePicker 事件监听
    onTimeChangedListener:时间改变时触发
    (9 )TimePickerDialog 事件监听
    onTimeSetListener: 设置时间时触发
    (10)Button.ImageButton 事件监听
    setOnClickListener: 点击时触发
    (11)Menu 事件监听
    onOptionsltemSelected; 点击时触发
    (12 )Gallery 事件监听
    setOnItemClickListener: 点击时触发
    (13 )GridView 事件监听
    setOnltemClickListener: 点击时触发

     

    实现事件监听器的方法:

    • 内部类形式
    • 外类类形式
    • Activity本身作为事件监听器类
    • 匿名内部类形式
    • 直接绑定到标签

     

    内部类形式

    将事件监听器类定义在当前类的内部

      

    public class Test extends Activity{
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = (Button)findViewById(R.id.about);
            MyButtonlistener listener = new MyButtonlistener();
            button.setOnClickListener(listener);
        }
        class MyButtonlistener implements View.OnClickListener{
            @Override
            public void onClick(View v) {
                //相关事件处理
            }
        }
    }

    外类类形式

    Test类

    public class Test extends Activity{
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = (Button)findViewById(R.id.about);
            MyButtonlistener listener = new MyButtonlistener();
            button.setOnClickListener(listener);
        }
    
    }

    MyButtonlistener类

    public class MyButtonlistener implements View.OnClickListener {
        @Override
        public void onClick(View v) {
            //事件处理
        }
    }

    Activity本身作为事件监听器类

      将Activity本身作为事件监听器类

      

    public class Test extends Activity implements View.OnClickListener{
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = (Button)findViewById(R.id.about);
            button.setOnClickListener(this);
    
        }
    
        @Override
        public void onClick(View v) {
            //事件处理
        }
    }

     

     

    匿名内部类形式

    public class Test extends Activity {
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Button button = (Button)findViewById(R.id.about);
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //事件处理
                }
            });
        }
    }

     

    直接绑定到标签

    在xml的布局文件中加入onClick属性,设置相关的方法

     

    定义一个方法,记得参数是View

  • 相关阅读:
    windows 7(32/64位)GHO安装指南(系统安装篇)~重点哦!!~~~~
    windows 7(32/64位)GHO安装指南(U盘引导篇)~
    windows 7(32/64位)GHO安装指南(U盘制作篇)~
    windows 7(32/64位)GHO安装指南(序篇)~
    Linux课堂笔记(一)
    Web API 源码剖析之默认配置(HttpConfiguration)
    Web API 源码剖析之默认消息处理程序链--》路由分发器(HttpRoutingDispatcher)
    Web API源码剖析之HttpServer
    Web API 源码剖析之全局配置
    使用模板创建第一个Web API项目
  • 原文地址:https://www.cnblogs.com/stars-one/p/7616285.html
Copyright © 2020-2023  润新知