【发布时间】:2021-01-09 11:03:34
【问题描述】:
是否可以有 InputFilters 列表,例如只允许输入,例如
$1,01 或 $100,95 已完成
editText.filters = arrayOf(CurrencyFormatInputFilter(), InputFilter.LengthFilter(8))
class CurrencyFormatInputFilter : InputFilter {
private val pattern = Pattern.compile(CURRENCY_INPUT_REGEX)
override fun filter(
source: CharSequence,
start: Int,
end: Int,
dest: Spanned,
dstart: Int,
dend: Int
): CharSequence? {
val result = (dest.subSequence(0, dstart).toString()
+ source.toString()
+ dest.subSequence(dend, dest.length))
val matcher = pattern.matcher(result)
return if (!matcher.matches()) dest.subSequence(dstart, dend) else null
}
}
【问题讨论】:
标签: android kotlin android-jetpack-compose