全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android响应事件onClick方法的五种实现方式小结

在Android的开发中,对于点击事件的OnClickListener有下面四种实现方式,可以根据实际场景的需要选择合适的用法。下面以Button按钮来举例说明。

方法一:

适合场景:任何场景都通用,但对于一个Activity中要是有多个控件要实现onClick方法就会显得代码冗余。

 Button bt_Demo = (Button)findViewById(R.id.bt_Demo);
 bt_Demo.setOnClickListener(new OnClickListener() {
 @Override
 public void onClick(View v) {
    //具体点击操作的逻辑
 }
 });

方法二:

适合场景:适合有多个同类型控件(比如Button数组)要实现onClick()方法时使用

Button[] demoBtns ;
……
for(Button button : demoBtns ){
   button.setOnClickListener(listener);
}

 private OnClickListener listener = new OnClickListener(){ 
 @Override
 public void onClick(View arg0) {
  // TODO Auto-generated method stub 
  switch(arg0.getId()){ 
   case R.id.btn_Demo:
      //具体点击操作的逻辑
      break;
   default:
      break;
   }
 }
 }

方法三:

适合场景:同方法二,两者差别不大

Button bt_Demo = (Button)findViewById(R.id.bt_Demo);
 bt_Demo.setOnClickListener(new ButtonListener());
 private class ButtonListener implements OnClickListener{
 @Override
 public void onClick(View arg0) {
   // TODO Auto-generated method stub 
   switch(arg0.getId()){ 
   case R.id.btn_Demo:
      //具体点击操作的逻辑
      break;
   default:
      break;
   }
 } 
 }

方法四:

适合场景:适合界面上有不同类型的控件,这种方式将所有控件的onClick方法在一个方法里面实现,看起来比较简洁

在Activity中实现OnClickListener接口:

 public class MyActivity extends Activity implements OnClickListener {
  @Override 
  public void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   setContentView(R.layout.main);
   //按纽
   Button btn_Demo = (Button)findViewById(R.id.bt_Demo);
   bt_Demo.setOnClickListener(this); 
  }

  @Override 
  public void onClick(View v) {
   switch(arg0.getId()){ 
   case R.id.btn_Demo:
      //具体点击操作的逻辑
      break;
   default:
      break;
   }
  }
 }

方法五:

适合场景:通用场景,特别是某个控件的点击方法要实现的逻辑较复杂的时候使用。

在布局文件中加上android:onClick="方法名",对于有些控件(比如TextView)需要兼容旧的SDK API,还需要加上android:clickable="true"

<TextView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:clickable="true"
     android:onClick="onTextViewClick"
     android:text="点击事件"
     android:textSize="16sp" />
//在代码中实现onTextViewClick()方法即可。
public void onTextViewClick(){
  //具体点击操作的逻辑
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# android  # onclick  # onclick事件  # Android ButtonOnClick事件的写法总结  # 详谈Android中onTouch与onClick事件的关系(必看)  # Android onClick按钮单击事件的四种常用写法  # Android ListView 子控件onClick正确获取position的方法  # Android onClick方法与setOnClickListener方法对比  # Android使用TextView  # 设置onClick属性无效的解决方法  # 三种Android单击事件onclick的实现方法  # Android中button实现onclicklistener事件的两种方式  # Android 布局中的android:onClick的使用方法总结  # 多个  # 就会  # 是有  # 上有  # 还需要  # 四种  # 可以根据  # 不同类型  # 中要  # 大家多多  # 举例说明  # 按纽  # id  # findViewById  # setOnClickListener  # Override  # private  # listener  # Auto  # TODO 


相关文章: 大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  如何快速建站并高效导出源代码?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  建站VPS配置与SEO优化指南:关键词排名提升策略  香港服务器网站卡顿?如何解决网络延迟与负载问题?  建站之星代理如何优化在线客服效率?  安云自助建站系统如何快速提升SEO排名?  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机解析:虚拟主机配置与服务器选择指南  如何在Golang中引入测试模块_Golang测试包导入与使用实践  建站之星安装模板失败:服务器环境不兼容?  北京建设网站制作公司,北京古代建筑博物馆预约官网?  建站之星收费标准详解:套餐费用及年费价格表一览  哈尔滨网站建设策划,哈尔滨电工证查询网站?  制作网站的软件免费下载,免费制作app哪个平台好?  韩国服务器如何优化跨境访问实现高效连接?    官网建站费用明细查询_企业建站套餐价格及收费标准指南  潮流网站制作头像软件下载,适合母子的网名有哪些?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  香港服务器租用费用高吗?如何避免常见误区?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  h5网站制作工具有哪些,h5页面制作工具有哪些?  如何在香港服务器上快速搭建免备案网站?  海南网站制作公司有哪些,海口网是哪家的?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何解决VPS建站LNMP环境配置常见问题?  如何通过服务器快速搭建网站?完整步骤解析  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  实惠建站价格推荐:2025年高性价比自助建站套餐解析  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  如何通过宝塔面板实现本地网站访问?  制作农业网站的软件,比较好的农业网站推荐一下?  如何选择CMS系统实现快速建站与SEO优化?  如何快速生成专业多端适配建站电话?  ,巨量百应是干嘛的?  建站之星logo尺寸如何设置最合适?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  公司网站的制作公司,企业网站制作基本流程有哪些?  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  建站之星安装步骤有哪些常见问题?  如何快速使用云服务器搭建个人网站?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  专业公司网站制作公司,用什么语言做企业网站比较好?  平台云上自主建站:模板化设计与智能工具打造高效网站  广州顶尖建站服务:企业官网建设与SEO优化一体化方案 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。