Android开发基础简化Toast调用方法详解
前言
有时候我们开发时会发现有些方法调用非常多,但它的默认的调用方法却要传很多参数进去而且还得记得调用具体的写法,比如Toast,不止要调用makeText()方法还得在makeText()方法后加上show():
Toast.makeText(context, "A", Toast.LENGTH_LONG).show()
有时候就会因为忘记调show()方法而不显示,结果导致很多奇怪的Bug,所以对其的简化还是很有必要的。
实现方法
那么我们怎么对Toast方法简化呢?
新建一个Toast.kt文件
import android.content.Context import android.widget.Toast //工具方法 //添加扩展函数 //简化Toast调用方法 fun String.showToast(context : Context) { Toast.makeText(context, this, Toast.LENGTH_LONG).show() } fun Int.showToast(context : Context) { Toast.makeText(context, this, Toast.LENGTH_LONG).show() }
然后去除默认加上的class类,并为String和Int类各写一个扩展方法,然后我们在扩展方法中调用Toast方法,将其中的第二个参数(弹出的内容)换成this参数,就能更简单的使用Toast方法了:
字符串调用
"start ActivityPlayVideo".showToast(applicationContext)
定义在string.xml的字符串资源调用:
R.string.app_name.showToast(applicationContext)
但我们仍需要优化该工具方法,因为此时我们是写死了弹出时长的,不过Kotlin中有对函数设置参数默认值的功能:
fun String.showToast(context : Context, duration: Int = Toast.LENGTH_LONG) { Toast.makeText(context, this, duration).show() } fun Int.showToast(context : Context, duration: Int = Toast.LENGTH_LONG) { Toast.makeText(context, this, duration).show() }
这样写好后,我们就在不需要设置弹出时间时不去输入第二个参数,默认时间,而在有弹出时长需求时改变第二个参数duration来设置时长:
//默认弹出时长 "start ActivityPlayVideo".showToast(applicationContext) //手动设置弹出时长 R.string.app_name.showToast(applicationContext, 500)
最终,我们就简化好了Toast,后续在App中调用它也更加方便好用,当然,其实最好还加上对子线程的支持,因为子线程对UI不能直接操作。
总结
虽然方法很简单,但在项目开发中的确蛮有作用的,简化了编写代码的过程。
以上就是Android开发基础简化Toast调用方法的详细内容,更多关于Android 简化Toast调用的资料请关注脚本之家其它相关文章!
相关文章
Android开发使用Messenger及Handler进行通信的方法示例
这篇文章主要介绍了Android开发使用Messenger及Handler进行通信的方法,结合实例形式分析了Android使用Messenger及Handler定义客户端与服务器端实现通信的相关操作技巧,需要的朋友可以参考下2017-12-12在Android Studio中设置Button透明度的方法详解
本文将介绍在Android Studio中如何设置Button的透明度,首先,我们将展示实现该功能的整个流程,并使用表格列出每个步骤,然后,我们将详细说明每个步骤需要做什么,并提供相应的代码和注释,需要的朋友可以参考下2023-09-09Android中CountDownTimer 实现倒计时功能
本篇文章主要介绍了Android中CountDownTimer 实现倒计时功能,CountDownTimer 是android 自带的一个倒计时类,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-05-05
最新评论