博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中Button四种点击事件实现方式
阅读量:6255 次
发布时间:2019-06-22

本文共 1863 字,大约阅读时间需要 6 分钟。

1.Xml添加监听属性,这里添加的doClick。

1 
1 public void doClick(View view) {2         switch (view.getId()) {3             case R.id.bt1:4                 Toast.makeText(MainActivity.this, "第一种点击事件:Xml添加doClick", Toast.LENGTH_SHORT).show();5                 break;6 7         }8 9     }

在Activity中添加doClick实现方法。Activity中实现的方法要和XML添加的属性名相同,不建议实际开发中使用

 

2.匿名内部类方式实现。

1        Button bt2 = (Button) findViewById(R.id.bt2);2        bt2.setOnClickListener(new View.OnClickListener() {3              @Override4              public void onClick(View v) {5                  Toast.makeText(MainActivity.this, "第二种点击事件:匿名内部类", Toast.LENGTH_SHORT).show();6              }7          });

 

 

 

 3.自定义点击事件实现。

1  Button bt3 = (Button) findViewById(R.id.bt3);2          bt3.setOnClickListener(new MyListener()); 3 class MyListener implements View.OnClickListener {4     @Override5     public void onClick(View v) {6         Toast.makeText(MainActivity.this, "第三种方法:自定义点击事件", Toast.LENGTH_SHORT).show();7     }8 }

 

 

 

 

 4.Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法。

1 public class MainActivity extends AppCompatActivity implements View.OnClickListener { 2     @Override 3     protected void onCreate(Bundle savedInstanceState) { 4         super.onCreate(savedInstanceState); 5         setContentView(R.layout.activity_main); 6  Button bt4=(Button)findViewById(R.id.bt4); 7     bt4.setOnClickListener(this); 8 } 9 10 @Override11     public void onClick(View v) {12         switch (v.getId()) {13             case R.id.bt4:14                 Toast.makeText(MainActivity.this,15                         "第四种点击事件:Activity继承View.OnClickListener,由Activity实现OnClick(View view)方法",16                         Toast.LENGTH_SHORT).show();17         }18     }19 }

 

备注:Button数量不多的情况下推荐使用第二种,匿名内部类的方式实现;反之则推荐使用第四种,Activity继承View.OnClickListener实现。

 

转载于:https://www.cnblogs.com/wenwei1/p/7202733.html

你可能感兴趣的文章
C# WinForm开发系列 - OWC
查看>>
关于利用VS2008创建项目遇到的小困惑备忘
查看>>
发布一款域名监控小工具——Domain(IP)Watcher
查看>>
VBS中数组的各种处理方式
查看>>
通用数据权限管理系统设计
查看>>
High Resolution Timer in Java 5
查看>>
Visio2010绘制上下文数据流图
查看>>
SQL高级---SQL TOP 子句
查看>>
EhCache 分布式缓存/缓存集群
查看>>
[读书笔记]黑客与画家-思维、财富、创业、产品、设计、编程
查看>>
ecshop index.php源代码分析
查看>>
POJ 2057 The Lost House (经典树形dp)
查看>>
C#与Java的比较(转)
查看>>
jquery checkbox
查看>>
GNU make manual 翻译(三十二)
查看>>
内存泄漏简介
查看>>
管理内核模块
查看>>
SQL NOTE--CURSOR
查看>>
cvMatND 多维数组 设置和读取像素值
查看>>
使用XML文件方式配置log4cxx(log4cxx xml例子)
查看>>