第一种 测试使用

直接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();
}
});
}
}

最新文章

  1. WPF实现三星手机充电界面
  2. CMake
  3. setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
  4. PowerDesigner修改生成mysql视图
  5. ASP.NET MVC网站在opera mobile emulator中浏览
  6. ecshop团购显示“库存不足”
  7. YC大牛的判题任务-想法
  8. For-Each循环
  9. HDU1242 Rescue(BFS+优先队列)
  10. 【设计模式】Template Method模式
  11. Modbus测试工具 :Modbus Poll,Modbus Slave
  12. 解决idea导入项目后依赖报错问题
  13. Analyzing .net core application with SonarQube Scanner for MSBuild
  14. Linux - 文件和目录
  15. openstack 中镜像状态详解 Image Statuses
  16. windows下安装Mongodb_4.0.6最新版及常用命令
  17. USB设备驱动程序学习笔记(二)
  18. 傻瓜式搭建php+nginx+mysql服务器环境
  19. Linux系统巡检项目
  20. netty之编解码

热门文章

  1. [译]GLUT教程 - 重整子窗体
  2. Android控件ListView获取item中EditText值
  3. JQuery+Json 省市区三级联动
  4. 算不算类似微信小程序
  5. html 自动跳转,meat(http-equiv)标签详解
  6. 手机测试常见的BUG解析
  7. 九度OJ 1214:丑数 (整除)
  8. SQLServer判断一个IP是否在一个IP段里
  9. 20179209《Linux内核原理与分析》第十二周作
  10. 使用apt-get 安装后的mysql 登录问题