• Android基础-Button点击事件(1.匿名内部类 2.内部类监听器 3.用本类实现activity 4.xml实现按钮点击事件)


    1.匿名内部类 

     //匿名内部类适用于只有唯一操作的按钮
            Button btn2 = findViewById(R.id.btn2);
            btn2.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    //在控制台输出
                    Log.e("TAG", "========匿名内部类==========");
                }
            });

    2. 内部类监听器设置 

    //1.获取按钮
    Button btn1 = findViewById(R.id.btn1);
    //点击事件: 被点击时的被触发的事件
    MyClickListener mcl = new MyClickListener();
    btn1.setOnClickListener(mcl); //2.为按钮注册点击事件监听器 
    
     class MyClickListener implements View.OnClickListener {
    
            @Override
            public void onClick(View v) {
                //在界面上输出一个语句
                Log.e("TAG", "刚刚点击的按钮是注册了内部类监听器的按钮");
            }
        }

    3.用本类实现activity 这里需要implement View.onClickListener方法

    public class ButtonActivity extends AppCompatActivity implements View.OnClickListener{ 
    
        Button btn3 = findViewById(R.id.btn3);
        btn3.setOnClickListener(this);
        
       @Override
        public void onClick(View v) {
            Log.e("TAG", "用本类实现了Activity按钮");
        }
    
    
    }

    4. 使用xml实现监听事件 这里调用了同一种方法 因此在定义类的时候,使用android:id进行区分 

    xml文件

    <Button
            android:id="@+id/btn4"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="在xml文件中绑定"
            android:onClick="myClick"/>
    

    <Button android:id="@+id/btn5" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="在xml文件中绑定2" android:onClick="myClick"/>

    java文件

     //参数: 被点击的控件参数
        public void myClick(View v) {
            switch (v.getId()) {
                case R.id.btn4:
                    Log.e("TAG", "btn4========");
                    break;
                case R.id.btn5:
                    Log.e("TAG", "btn5========");
                    break;
            }
    
        }
  • 相关阅读:
    linux命令:ls
    linux 进程线程拓展
    linux命令:find
    电动车充电器原理及带电路图维修
    kmalloc分配物理内存与高端内存映射--Linux内存管理(十八)
    Linux内核最新的连续内存分配器(CMA)——避免预留大块内存【转】
    alloc_page分配内存空间--Linux内存管理(十七)
    伙伴系统之避免碎片--Linux内存管理(十六)
    伙伴系统之伙伴系统概述--Linux内存管理(十五)
    USB初学(一)---USB-HID的初步认识【转】
  • 原文地址:https://www.cnblogs.com/my-love-is-python/p/14521405.html
Copyright © 2020-2023  润新知