我正在尝试给编辑文本一个我想要的数字格式
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陈述,它可以工作,但不适用于字符-
和/
答案 0 :(得分:0)
也许尝试:
if(s!!.length == 3){
txtNumber+="-"
}