Android journey3 @点击事件的4种写法
对于android布局中的控件,如Button等会有相应的点击事件去响应它所需要的功能,今天我们就以电话拨号器的代码说明下几种点击事件:
1 package com.itheima.phone; 2 3 import android.net.Uri; 4 import android.os.Bundle; 5 import android.app.Activity; 6 import android.content.Intent; 7 import android.view.Menu; 8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.Button; 11 import android.widget.EditText; 12 import android.widget.Toast; 13 14 public class MainActivity extends Activity implements OnClickListener { 15 private EditText et_number; 16 17 // 当activity被启动的时候 调用的方法. 18 @Override 19 protected void onCreate(Bundle savedInstanceState) { 20 super.onCreate(savedInstanceState); 21 setContentView(R.layout.activity_main); 22 Button bt_dail = (Button) findViewById(R.id.bt_dail); 23 et_number = (EditText) findViewById(R.id.et_number); 24 // 点击事件的第一种写法 25 bt_dail.setOnClickListener(new DialButtonListener()); 26 27 // 点击事件的第二种写法. 28 bt_dail.setOnClickListener(new OnClickListener() { 29 @Override 30 public void onClick(View v) { 31 doClick(); 32 } 33 }); 34 35 //点击事件的第三种写法. 36 bt_dail.setOnClickListener(this); 37 38 39 } 40 41 private void doClick() { 42 String number = et_number.getText().toString().trim(); 43 if ("".equals(number)) { 44 Toast.makeText(MainActivity.this, "号码不能为空", Toast.LENGTH_SHORT) 45 .show(); 46 } else { 47 Toast.makeText(MainActivity.this, "拨打:" + number, 48 Toast.LENGTH_SHORT).show(); 49 Intent intent = new Intent(); 50 intent.setAction(Intent.ACTION_CALL); 51 intent.setData(Uri.parse("tel:" + number)); // tel:110 52 // URL : 统一资源定位符 表示一个网络地址 http:// ftp:// rstp:// 53 // URI : 统一资源标示符 范围更加广泛 54 startActivity(intent); 55 } 56 } 57 58 private class DialButtonListener implements OnClickListener { 59 @Override 60 public void onClick(View v) { 61 doClick(); 62 } 63 } 64 65 @Override 66 public void onClick(View v) { 67 switch (v.getId()) { 68 case R.id.bt_dail: 69 doClick(); 70 break; 71 } 72 73 } 74 75 //在xml布局文件的配置中,给button添加了属性 android:onClick = “响应函数名” 76 public void btnClick(View view){ 77 doClick(); 78 } 79 }
点击事件方法总结:
1、直接通过显示的内部类
2、通过匿名内部类
3、通过MainActivity实现OnClickListener:通常在界面中有较多需要响应的控件时使用
4、直接在xml文件中配置对应控件的onClick属性,此种方法通常在测试代码时使用,因为比较不直观,使代码难以维护
标签:
android点击事件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述