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