Kotlin在Android上令人惊叹的技巧 原文链接 : Kotlin awesome tricks for Android 原文作者 : Antonio Leiva 我已经在这个Blog里讨论了很多Kotlin了,现在Google也正在讨论Kotlin,Kotlin 1.0 RC 已经发布了,毫无疑问,Kotlin不仅仅是Android的一个替代选择。Kotlin就在这里,我推荐你开始学习它。
在Android上我从哪里开始学习Kotlin? 这里已经有一些信息了,但是如果你想要真正的关注和快速学习,我推荐你这些资源:
Kotlin reference:如果你想深入了解这个语言的细节,这里是你能找到的最好的地方。我所知道关于这个语言的最好参考文献之一。
This blog:这个链接是我整理的所有关于Kotlin的文章的地方。你不应该错过它,文章属于初级和中级。
Kotlin for Android Developers, The book:如果你想快速和持续的学习,这本书是最好的方法。如果你已经了解了Andriod,这将是一个在你的项目中使用kotlin的快速途径。我已经编写很长一段时间了,当新版本发布的时候我就会更新它。已经更新到了Kotlin 1.0 RC。除此之外如果你订阅了这个列表,你将收到免费的头5个章节和这本书末尾显示的一个购买折扣。
展示这个技巧 在我要讲解之前,有一个要说明的是Kotlin能给你带来简化的Android代码。这里有一组没有特定顺序的独立的例子。
####### 简洁和趣味的编写点击监听事件
Java 7上编写监听和回调事件非常繁琐的原因是缺少了lambdas。Kotlin有非常好的lambdas和与Java库有非常好的兼容性。用lambda一个方法即可映射接口。你可以这么做:
myButton.setOnClickListener { navigateToDetail() } 这就是所有。
为什么layout要如此麻烦的inflate?再也不是了! 当你在Adapter中实例化时,你需要inflate一个layout,你会这样写:
LayoutInflater.from(parent.getContext()).inflate(R.id.my_layout, parent, false); 为什么父类不能inflate它自己的layout?好了,用Kotlin你可以。可以创建一个扩展的方法为你所用:
fun ViewGroup.inflate(@LayoutRes layoutRes: Int, attachToRoot: Boolean = false): View { return LayoutInflater.