如果第一个字符为零,如何删除第一个字符 | Android |文本观察器
how to delete the first character if the first character is a zero | Android | TextWatcher
我有一个问题,如果第一个字符是零,如何删除第一个字符。
例如:
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
)
)
}
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (edtPhone.getText().charAt(start) == '0'){
String textValue = edtPhone.getText().toString();
edtPhone.setText(textValue.substring(1, textValue.length());
}
}
我有一个问题,如果第一个字符是零,如何删除第一个字符。
例如:
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
)
)
}
}
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (edtPhone.getText().charAt(start) == '0'){
String textValue = edtPhone.getText().toString();
edtPhone.setText(textValue.substring(1, textValue.length());
}
}