我们也学习了这么久的Kotlin了,我们来用Kotlin写一个计算器的小案例吧,这也是比较简单的示例了。我们先来看下效果:

先看下这个UI,上面是一个EditText 下面是一个RecyclerView,先来写个适配器吧,我们来一步步分析:

可以看到,我们已经不用写构造方法了,而是直接在class中定义,并且让他继承自我们自己实现的ViewHolder,包括对外提供点击事件

其中是不需要有findViewById的操作的,扩展库已经帮我们实现好了,我们只需要

import kotlinx.android.synthetic.main.layout_main_ui_item.view.*

重点来看下重写的几个方法吧

首先是onCreateViewHolder,我们依旧是创建一个View,然后将ViewHolder返回,而getItemCount也只是将size返回,重点来看下onBindViewHolder,首先赋值没什么问题,其次就是一个点击事件了,也没什么问题,至此适配器写完了,我们现在需要去实例化

可以看到在我们的initView中通过创建的步骤去创建,稍微简洁了一些,再来看下我们的数字点击事件

首先我做了九位数的限制,太多了就不处理了,然后当我们默认是0也就是无输入的时候则设置点击的数字到输入框中,如果已经存在数字则追加在数字尾端,接着再看下运算符

运算符的操作是一致的,保存好之后清空输入框

而AC则是清空所有逻辑,运算的逻辑在等于的选项里

我不知道你对这段代码的看法是什么,但是我觉得kt主要强调在用,也就是使用的逻辑清晰,但是需要你对kt有一定的熟练度,而java是繁杂但是逻辑都写在字面上了,有兴趣可以下载源码跑一下:

链接:​​https://pan.baidu.com/s/13ohMem8z4ZCZ1ljfAX4frw​

密码:d8d4

Github地址:

​https://github.com/LiuGuiLinAndroid/Kotlin​