Android响应事件onClick方法的四种实现方式

这篇具有很好参考价值的文章主要介绍了Android响应事件onClick方法的四种实现方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

方法一:匿名内部类

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

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

方法二:自定义单击事件监听类

同方法一,两者差别不大

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

方法三:Activity继承View.OnClickListener

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

 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;
	   }
  }
}

方法四:在XML文件中显示指定按钮的onClick属性

在布局文件中加上android:onClick=“方法名”,对于有些控件(比如TextView)需要兼容旧的SDK API,还需要加上android:clickable=“true”文章来源地址https://www.toymoban.com/news/detail-538620.html

<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(View view){
  //具体点击操作的逻辑
}

到了这里,关于Android响应事件onClick方法的四种实现方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • <JDBC> 批量插入 的四种实现方式:你真的get到了吗?

    🛒 本文收录与专栏 :《JDBC》专栏 📢 专栏目的是解释JDBC的关键点,与各位一路同行,会持续输出,欢迎免费订阅!! ✨总有人间一两风,填我十万八千梦✨ 批量插入就是 批量执行SQL语句 当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语

    2024年02月02日
    浏览(36)
  • Java 实现 HTTP 请求的四种方式,你都学会了么?

    前言 在日常工作和学习中,有很多地方都需要发送HTTP请求,本文以Java为例,总结发送HTTP请求的多种方式 HTTP请求实现过程 GET 创建远程连接 设置连接方式(get、post、put…) 设置连接超时时间 设置响应读取时间 发起请求 获取请求数据 关闭连接 POST 创建远程连接 设置连接方

    2024年02月08日
    浏览(38)
  • Android之Fragment 跳转返回重复加载重复执行onCreateView的四种解决方法

    前言:  Fragment 跳转返回重复加载重复执行 onCreateView 的问题通常是因为 Fragment 生命周期方法的调用顺序和使用不当所导致的。 1,onSaveInstanceState()方法 一种解决方法是在 Fragment 中使用 onSaveInstanceState() 方法保存 Fragment 的状态,并在 onCreate() 方法中进行状态恢复,避免重复执

    2024年02月06日
    浏览(40)
  • 有关实现深拷贝的四种方法

            深拷贝与浅拷贝:         在开始之前我们需要先了解一下什么是浅拷贝和深拷贝,其实深拷贝和浅拷贝都是针对的引用类型,JS中的变量类型分为值类型(基本类型)和引用类型;对值类型进行复制操作会对值进行一份拷贝,而对引用类型赋值,则会进行地址

    2024年02月04日
    浏览(33)
  • 实现瀑布流布局的四种方法

    页面上是一种 参差不齐 的多栏布局,类似上图所示随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部,大部分为图片,图片 固定 宽度,高度 不一 ,根据原比例缩放到宽度达到固定的要求,每行排满后,新的图片添加到后面 固定宽度,高度不一 岑

    2023年04月15日
    浏览(48)
  • Jmeter实现参数化的四种方法

    目录 一、CSV Data Set Config/CSV数据文件设置 二、函数助手 1、Random函数 2、RandomString随机字符串 3、CSVRead 4、time 5、UUID 三、计数器(Counter)         参数化:自动化测试脚本的一种常用技巧,事先准备好数据,指定参数的取值范围和规则;而非在脚本中写死,脚本执行时从

    2024年04月22日
    浏览(29)
  • 【Vue】实现当前页面刷新的四种方法

    这两周在写一个后台管理,每次调用接口实现增删改查的过程中,都需要刷新当前页面或者刷新数据。如果手动点击浏览器的小圈圈不仅麻烦、用户体验感极差,而且不会真的有人让用户手动刷新叭。。。这个问题可以称得上是前端的bug了。那么,顺着这个问题,一通搜寻下

    2023年04月26日
    浏览(42)
  • CSS实现三角形的四种方法

    【解释】不设置宽高,用边框大小控制三角型大小 【分解步骤】 设置一个 div 不设宽高 【示例】   2. 设置透明 留下想要指向方向 相反 的边框设定,其他方向的边框设为 transparent 透明 【示例】 实现指向向上的三角形 【效果图】 指向上,指向下,指向左,指向右   如何设

    2024年02月15日
    浏览(36)
  • SpringBoot项目启动后执行指定方法的四种实现

    今日的好天气 距离上一次更新帖子已经过了很久很久,久到我也不知道我在搞什么飞机。 国庆节第一天终于搬到了新家,最近量子纠缠比较火,冬天也在路上,匆匆又一年。 @PostConstruct是Java自带的注解,在方法上加该注解会在项目启动的时候执行该方法,也可以理解为在

    2023年04月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包