全网整合营销服务商

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

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

用Kotlin实现Android点击事件的方法

近期,Google宣布Kotlin成为了Android一级开发语言。于是就刚刚简单的研究了一下,查资料的时候发现现成的资料还是很少的,于是决定自己记录一下,方便以后查看,也供其他人一个参考。

在android中,点击事件大致分为三种写法:

1. 匿名内部类。

2. Activity实现全局OnClickListener接口。

3. 指定xml的onClick属性。

今天用Kotlin实现这三种方式实现点击事件

匿名内部类:这种方式最简单

override fun onCreate(savedInstanceState: Bundle?) {
   super.onCreate(savedInstanceState)
   setContentView(R.layout.activity_main)
   bt_click.setOnClickListener {
     Toast.makeText(this,"点击了",Toast.LENGTH_SHORT).show();
   }
 }

这里不需要new OnClicklistener。

全局实现OnClickListener接口:

class MainActivity : AppCompatActivity(), View.OnClickListener {
 override fun onClick(v: View?) {
   when (v?.id) {
     R.id.bt_click ->
       Toast.makeText(this, "点击了", Toast.LENGTH_SHORT).show()
   }
 }

 override fun onCreate(savedInstanceState: Bundle?) {
   super.onCreate(savedInstanceState)
   setContentView(R.layout.activity_main)
   bt_click.setOnClickListener(this)
 }
}

这种方法与java的区别是没有implements关键字表示实现接口。

when就相当于java中的switch。

“:”符号改为了“->”。

指定onClick属性:

fun click(v: View?) {
   when (v?.id) {
     R.id.bt_click ->
       Toast.makeText(this, "点击了", Toast.LENGTH_SHORT).show()
   }
 }

 override fun onCreate(savedInstanceState: Bundle?) {
   super.onCreate(savedInstanceState)
   setContentView(R.layout.activity_main)
 }
<Button
   android:id="@+id/bt_click"
   android:layout_width="match_parent"
   android:layout_height="50dp"
   android:onClick="click"
   android:text="点击" />

以上就是这三种点击事件的写法。如果有语法不懂,关键字不知道什么意思可以去查一下官方文档。希望对大家的学习有所帮助,也希望大家多多支持。


# Android点击事件  # Kotlin实现Android点击事件  # Android Kotlin环境使用ButterKnife的方法  # 利用Kotlin实现破解Android版的微信小游戏--跳一跳  # 利用Kotlin如何实现Android开发中的Parcelable详解  # Android 使用Kotlin自定义View的方法教程  # Kotlin编写Android适配器Adapter  # Android kotlin+协程+Room数据库的简单使用  # 这三种  # 不需要  # 不懂  # 三种  # 最简单  # 什么意思  # 大家多多  # 去查  # 近期  # 文档  # 成为了  # 这种方法  # class  # brush  # pre  # text  # strong  # dp  # fun  # onCreate 


相关文章: 高端企业智能建站程序:SEO优化与响应式模板定制开发  如何通过可视化优化提升建站效果?  在线ppt制作网站有哪些,请推荐几个好的课件下载的网站?  深圳网站制作案例,网页的相关名词有哪些?  Swift中swift中的switch 语句  如何通过网站建站时间优化SEO与用户体验?  全景视频制作网站有哪些,全景图怎么做成网页?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  如何彻底卸载建站之星软件?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  高防服务器如何保障网站安全无虞?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  高性能网站服务器部署指南:稳定运行与安全配置优化方案  制作网站的基本流程,设计网站的软件是什么?  ,购物网站怎么盈利呢?  如何在云服务器上快速搭建个人网站?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  香港服务器租用费用高吗?如何避免常见误区?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  大连网站制作公司哪家好一点,大连买房网站哪个好?  相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  深圳网站制作的公司有哪些,dido官方网站?  如何在阿里云域名上完成建站全流程?  建站之星价格显示格式升级,你的预算足够吗?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  如何用IIS7快速搭建并优化网站站点?  实例解析angularjs的filter过滤器  如何基于云服务器快速搭建网站及云盘系统?  建站之星在线客服如何快速接入解答?  如何通过PHP快速构建高效问答网站功能?  c++怎么用jemalloc c++替换默认内存分配器【性能】  ,柠檬视频怎样兑换vip?  如何撰写建站申请书?关键要点有哪些?  如何在云虚拟主机上快速搭建个人网站?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  TestNG的testng.xml配置文件怎么写  如何在IIS7上新建站点并设置安全权限?  昆明高端网站制作公司,昆明公租房申请网上登录入口?  建站主机选购指南:核心配置与性价比推荐解析  c++ stringstream用法详解_c++字符串与数字转换利器  如何通过山东自助建站平台快速注册域名?  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  建站之星在线版空间:自助建站+智能模板一键生成方案  如何在景安服务器上快速搭建个人网站?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  建站之星代理如何获取技术支持?  电脑免费海报制作网站推荐,招聘海报哪个网站多? 

您的项目需求

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