Android 8.1Oreo上的韩文电话号码文字监视程序问题

问题描述

我的Compile SDK和目标SDK是29
我的Min SDK是24
我将Android SDK的 PhoneNumberFormattingTextWatcher 本身添加到了EditText中。

<EditText
    android:id="@+id/editTextView"
    android:longClickable="false"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textCursorDrawable="@null" />

editTextView.inputType = InputType.TYPE_CLASS_PHONE
editTextView.filters = arrayOf<InputFilter>(InputFilter.LengthFilter(15))
editTextView.addTextChangedListener(PhoneNumberFormattingTextWatcher("KR"))

这是我的输入验证的正则表达式。因此,用户将输入内容写成PhoneNumberFormattingTextWatcher格式,然后检查输入内容是否与下面的正则表达式匹配。

[010]{3}-[0-9]{3,4}-[0-9]{4}|
[011]{3}-[0-9]{3,4}-[0-9]{4}|
[016]{3}-[0-9]{3,4}-[0-9]{4}|
[017]{3}-[0-9]{3,4}-[0-9]{4}|
[018]{3}-[0-9]{3,4}-[0-9]{4}|
[019]{3}-[0-9]{3,4}-[0-9]{4}|
[0130]{4}-[0-9]{3,4}-[0-9]{3,4}|
[0-9]{4}-[0-9]{4}

它工作得很好,并且PhoneNumberFormattingTextWatcher可以格式化除Android 8.1(Oreo)设备及更低版本中的这两个输入以外的所有输入。

[016]{3}-[0-9]{3,4}-[0-9]{4}|
[0-9]{4}-[0-9]{4}

例如, Android 8.1(Orea)设备 中,它可以将格式 01122223333格式化为011-2222-3333 ,但它无法格式化 01622223333至016-2222-3333

由于格式复杂,我找不到任何其他文本查看器。可以是016-222-3333或016-2222-333或016-222-333或016-2222-3333

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)