我对第一个字符为零时如何删除第一个字符有疑问。
例如:0887
至887
这里我使用Text Watcher作为编辑文本。但它不起作用
这是我的代码:
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (edtPhone.getText().charAt(start) == '0'){
edtPhone.getText().delete(start, start);
}
}
@Override
public void afterTextChanged(Editable s) {
}
我很困惑我的代码有什么问题任何帮助或建议将不胜感激
您可以检查第一个字符是否为0,然后使用substring方法提取除第一个字符之外的字符串,然后将其设置为EditText。
Kotlin中的代码:
phone_number_edt.doOnTextChanged { text: CharSequence?, start, count, after ->
val length = text.toString().length
if ((text.toString()[0] == '0')) {
if (length > 1) {
email_edt.setText(
text.toString().substring(
1,
length
)
)
}
}
}