• Android 基础-1.0 按钮4种点击事件


    第一种 测试使用

    直接xml添加,平时在自己的测试demo中使用比较多。

    1、直接在xml里给按钮添加点击事件

    android:onClick="btn_click"

    2、按住option + enter 给btn_click快捷创建activity代码

        public void btn_click(View view) {
            //sout
            System.out.println("哈哈哈,我被点击了");
            Toast.makeText(this, "哈哈哈,我被点击了", Toast.LENGTH_SHORT).show();
        }

    第二种 按钮很多

    当按钮有很多的时候,可以使用这一种

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button btn_click = findViewById(R.id.button);
            btn_click.setOnClickListener(this);
        }
    
        @Override
        public void onClick(View v) {
            System.out.println("哈哈哈,我被点击了3");
            Toast.makeText(MainActivity.this, "哈哈哈,我被点击了3", Toast.LENGTH_SHORT).show();
        }
    }

    按钮很多的情况

            btn_call.setOnClickListener(this);
        btn_call2.setOnClickListener(this);
        btn_call3.setOnClickListener(this);
        btn_call4.setOnClickListener(this);
    
    
    
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
            case R.id.button1: 
      
                callPhone();
                break;
    
            case R.id.button2: 
                callPhone();
                break;
    
            case R.id.button3: 
                callPhone();
                break;
    
            case R.id.button4: 
    
                System.out.println("哈哈哈");
                break;
    
            default:
                break;
            }
    
        }    

    第三种 内部类(常用)

    定义一个内部类去实现按钮的点击事件

    注意:这种方式会覆盖掉第一种

    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button btn_click = findViewById(R.id.button);
            btn_click.setOnClickListener(new  MyClickListener());
        }
    
        class MyClickListener implements View.OnClickListener {
            @Override
            public void onClick(View v) {
                System.out.println("哈哈哈,我被点击了2");
                Toast.makeText(MainActivity.this, "哈哈哈,我被点击了2", Toast.LENGTH_SHORT).show();
            }
        }
    
    }

    第四种 匿名内部类(常用)

    public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            Button btn_click = findViewById(R.id.button);
            btn_click.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    System.out.println("哈哈哈,我被点击了4");
                    Toast.makeText(MainActivity.this, "哈哈哈,我被点击了4", Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
  • 相关阅读:
    [转]EntityFramework之领域驱动设计实践
    [转]个人源码管理:如何在本机配置自己的SVN Repository (图解)
    [转]ASP.NET MVC Bootstrap极速开发框架
    聚沙成塔 现在造就未来
    sql server 判断及增加列的默认值约束
    [转]asp.net URL中包含中文参数造成乱码的解决方法
    [转]URL汉字编码问题(及乱码解决)
    [转]AngularJS 使用 UI Router 实现表单向导
    [转]AngularJS+UI Router(1) 多步表单
    [转]How to Create Custom Filters in AngularJs
  • 原文地址:https://www.cnblogs.com/jys509/p/11032303.html
Copyright © 2020-2023  润新知