zoukankan      html  css  js  c++  java
  • 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();
                }
            });
        }
    }
  • 相关阅读:
    <c:forTokens/>标签
    小小的心得
    wordcount编写和提交集群运行问题解决方案
    全国主要城市空气质量
    模拟迁途箭头圆圈
    模拟迁途.html
    大规模markpoint特效
    hadoop例子程序:求圆周率和wordcount
    测试
    hadoop集群安装好之后的启动操作
  • 原文地址:https://www.cnblogs.com/jys509/p/11032303.html
Copyright © 2011-2022 走看看