欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Kotlin如何优雅地判断EditText数据是否为空详解,

来源: 开发者 投稿于  被查看 20524 次 评论:192

Kotlin如何优雅地判断EditText数据是否为空详解,


快速上手

如果不知道如何在Kotlin中写一个相当简单的Java表达式。这里有一个简单的诀窍,就是在AndroidStudio的Java文件中编写一段代码,然后将其粘贴到kt文件中,它会自动转换为Kotlin。

Kotlin优势

  • 它更加易表现:这是它最重要的优点之一。你可以编写少得多的代码。
  • 它更加安全:Kotlin是空安全的,也就是说在我们编译时期就处理了各种null的情况,避免了执行时异常。你可以节约很多调试空指针异常的时间,解决掉null引发的bug。
  • 它可以扩展函数:这意味着,就算我们没有权限去访问这个类中的代码,我们也可以扩展这个类的更多的特性。
  • 它是函数式的:Kotlin是基于面向对象的语言。但是就如其他很多现代的语言那样,它使用了很多函数式编程的概念,比如,使用lambda表达式来更方便地解决问题。其中一个很棒的特性就是Collections的处理方式。我稍后会进行介绍。
  • 它是高度互操作性的:你可以继续使用所有用Java写的代码和库,甚至可以在一个项目中使用Kotlin和Java两种语言混合编程。一行Java一行Kotlin,别提有多风骚了。

好了,话不多说了,来一看看本文的正文吧

很多时候我们要判断EditText输入的数据是否为空,在Java中需要以下代码:

String mobile = etMobile.getText().toString();
if (TextUtils.isEmpty(mobile)) {
 showError("手机号不能为空");
 return;
}
String password = etPassword.getText().toString();
if (TextUtils.isEmpty(password)) {
 showError("密码不能为空");
 return;
}
...

现在我们来看看同样的事情用Kotlin怎么优雅地实现:

// 编写一个扩展方法
fun TextView.checkBlank(message: String): String? {
 val text = this.text.toString()
 if (text.isBlank()) {
 showError(message)
 return null
 }
 return text
}

// 优雅地判空
val mobile = etMobile.checkBlank("手机号不能为空") ?: return
val password = etPassword.checkBlank("密码不能为空") ?: return

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对3672js教程的支持。

您可能感兴趣的文章:
  • Android控件系列之EditText使用方法
  • Android中EditText实现不可编辑解决办法
  • 小心!Listview结合EditText使用实例中遇到的那些坑
  • 全面解析Android中对EditText输入实现监听的方法
  • Android文本输入框(EditText)输入密码时显示与隐藏

用户评论