如果第一个字符为零,如何删除第一个字符| Android | TextWatcher

问题描述 投票:2回答:1

我对第一个字符为零时如何删除第一个字符有疑问。

例如:0887887

这里我使用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) {

    }

我很困惑我的代码有什么问题任何帮助或建议将不胜感激

java android android-edittext
1个回答
0
投票

您可以检查第一个字符是否为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
                    )
                )
            }
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.