/**
* 空判断扩展函数
* */
fun String?.isNotEmptyAndNull(): Boolean {
return this != null && this != "null" && this.isNotEmpty()
}
/**
* 字符串扩展函数,返回非Null 字符串值
*/
fun String?.tryParseString(): String {
return if (this.isNotEmptyAndNull()) {
(this ?: "")
} else ""
}
/**
* 集合扩展函数,用于判断集合不为空
*/
fun <T> Collection<T>?.tryIsNotEmpty(): Boolean {
return !this.isNullOrEmpty()
}
- View 点击事件
//View 点击事件
fun View.onClick(wait: Long = 300, block: ((View) -> Unit)) {
setOnClickListener(deShakeClick(wait, block = block))
}
//点击防抖动
private fun deShakeClick(
wait: Long = 300,
block: ((View) -> Unit)? = null,
): View.OnClickListener {
return View.OnClickListener { v ->
var lastClickTime = 0L
val current = SystemClock.uptimeMillis()
if (current - lastClickTime > wait) {
lastClickTime = current
block?.invoke(v)
}
}
}