日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網(wǎng)站首頁 編程語言 正文

Android開發(fā)基礎簡化Toast調(diào)用方法詳解_Android

作者:ObliviateOnline ? 更新時間: 2023-04-07 編程語言

前言

有時候我們開發(fā)時會發(fā)現(xiàn)有些方法調(diào)用非常多,但它的默認的調(diào)用方法卻要傳很多參數(shù)進去而且還得記得調(diào)用具體的寫法,比如Toast,不止要調(diào)用makeText()方法還得在makeText()方法后加上show():

Toast.makeText(context, "A", Toast.LENGTH_LONG).show()

有時候就會因為忘記調(diào)show()方法而不顯示,結果導致很多奇怪的Bug,所以對其的簡化還是很有必要的。

實現(xiàn)方法

那么我們怎么對Toast方法簡化呢?

新建一個Toast.kt文件

import android.content.Context
import android.widget.Toast

//工具方法
//添加擴展函數(shù)
//簡化Toast調(diào)用方法

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類各寫一個擴展方法,然后我們在擴展方法中調(diào)用Toast方法,將其中的第二個參數(shù)(彈出的內(nèi)容)換成this參數(shù),就能更簡單的使用Toast方法了:

字符串調(diào)用

"start ActivityPlayVideo".showToast(applicationContext)

定義在string.xml的字符串資源調(diào)用:

R.string.app_name.showToast(applicationContext)

但我們?nèi)孕枰獌?yōu)化該工具方法,因為此時我們是寫死了彈出時長的,不過Kotlin中有對函數(shù)設置參數(shù)默認值的功能:

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()
}

這樣寫好后,我們就在不需要設置彈出時間時不去輸入第二個參數(shù),默認時間,而在有彈出時長需求時改變第二個參數(shù)duration來設置時長:

//默認彈出時長
"start ActivityPlayVideo".showToast(applicationContext)
//手動設置彈出時長
R.string.app_name.showToast(applicationContext, 500)

最終,我們就簡化好了Toast,后續(xù)在App中調(diào)用它也更加方便好用,當然,其實最好還加上對子線程的支持,因為子線程對UI不能直接操作。

總結

雖然方法很簡單,但在項目開發(fā)中的確蠻有作用的,簡化了編寫代碼的過程。

原文鏈接:https://juejin.cn/post/7196636673692975162

欄目分類
最近更新