android - 未解决的参考:DecimalDigitsInputFilter
问题描述
我打电话时收到此代码
EditText.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(7),DecimalDigitsInputFilter(2))
有什么解决办法吗?
解决方案
尝试这个:
class DecimalDigitsInputFilter( maxDecimalPlaces: Int) : InputFilter {
private val pattern: Pattern = Pattern.compile(
"[0-9]" + "+((\\.[0-9]{0,"
+ (maxDecimalPlaces - 1) + "})?)||(\\.)?"
)
override fun filter(
p0: CharSequence?,p1: Int,p2: Int,p3: Spanned?,p4: Int,p5: Int
): CharSequence? {
p3?.apply {
val matcher: Matcher = pattern.matcher(p3)
return if (!matcher.matches()) "" else null
}
return null
}
}
活动中的实施
etContactUsName.filters = arrayOf<InputFilter>(DecimalDigitsInputFilter(maxDigitsAfterDot))
推荐阅读
- sublimetext3 - 如何在 Sublime Text 3 中禁用多个光标实例?
- python - Keras 分类器为手势分类提供了荒谬的准确性
- php - PHP DateTime 差异返回错误的天数
- java - httpclient 默认接受不受信任的证书
- sonarqube - SonarQube 未发布 PHP 单元测试报告
- excel - Excel VBA 格式和变量输出并不总是有效
- java - 使用字符串值创建 pdf 文件
- angular - 有没有办法在角度应用程序中物理打印附件?
- sql - 在使用 UNION 和子查询的计数查询中显示 0,不允许加入
- html - 响应式 iframe 中的分辨率格式问题