【发布时间】:2019-10-04 20:06:17
【问题描述】:
我正在尝试为编辑文本提供我想要的数字格式
edittext 的输入类型是数字,但是当用户达到某些数字(3 和 10)时,我需要附加 - 和 /
我尝试过使用
android:digits="0123456789-/"
在我的 EditText 中但不工作
<EditText
android:id="@+id/txtNumber"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:inputType="number"
android:digits="0123456789-/"
/>
这里是我在用户写作时用来放置 - 或 / 的代码
txtNumber.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(text: Editable?) {}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
if(s!!.length == 3){
txtNumber.append("-")
}
if(s.length == 10){
txtNumber.append("/")
}
}
})...
这不起作用,我希望我在写作时的输出是这样的
234-983482/3
但它不起作用,我认为是因为edittext的inputType,但它需要是数字,因为我只需要在里面输入数字。
如果我用 .append("4") 或任何数字更改 if 语句,它可以工作,但不适用于字符 - 和 /
【问题讨论】:
-
您可能正在修改输入的副本。追加后尝试设置 textview 值。
标签: android kotlin android-edittext