微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决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 举报,一经查实,本站将立刻删除。