Kotlin有一个名为“扩展函数”的好功能- 为现有类添加新功能,无需继承或编写大量样板代码。Kotlin允许扩展函数和扩展属性。
下面是一个Float类的扩展,通过添加一个新函数来调用asDollars()浮点数作为货币值:
fun Float?.asDollars() = "USD%.2f".format(this ?: 0.0F) |
在代码中可以调用:
val money = 42.0F |
注意:扩展函数不会真正修改现有类。相反,接收器对象在编译期间作为第一个参数传递。有关更多信息,请参阅:扩展函数是静态解析的。
以下是我在Android中的许多项目中使用的一些自己的扩展:
1.AlertDialogs
fun Context.showAlertDialog( |
调用:
fun onResume(){ |
2.一个简单的点击监听器
inline fun View.onClick(crossinline f: ()-> Unit) = this.setOnClickListener { f() } |
用法:
btnNext.onClick { nextScreen() } |
3.EditText验证
fun isValidText(s: String?) = s!=null && !s.isEmpty() |
用法:
isValidForm = editEmail.isValidEmail() && editUsername.isValidText() |