zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    爬虫学习(五)——百度贴吧的爬取
    爬虫学习(四)——post请求爬取
    爬虫学习(三)——get请求参数解析
    爬虫学习(二)
    爬虫学习(一)
    第二阶段团队冲刺第三天
    第二阶段团队冲刺第二天
    第二阶段团队冲刺第一天
    第一阶段绩效评估
    Alpha版(内部测试版)发布
  • 原文地址:https://www.cnblogs.com/stars-one/p/7616285.html
Copyright © 2011-2022 走看看