gpt4 book ai didi

Android edittext手机格式

转载 作者:行者123 更新时间:2023-11-29 20:11:28 25 4
gpt4 key购买 nike

我正在为 edittext 实现电话号码格式。
问题在于电话长度的限制。

我正在使用 PhoneNumberFormattingTextWatcher:

EditText telNumber = (EditText) findViewById(R.id.txt_tel);
telNumber.addTextChangedListener(new PhoneNumberFormattingTextWatcher());

不限制电话号码的长度所以我试图限制 xml 中编辑文本的长度:android:maxLength="16"

PhoneNumberFormattingTextWatcher 通过在某些字符之间插入空格来格式化 EditText。
问题是对于不同的区域代码,它显示不同的格式并插入不同数量的空格:
+380 50 555 5555(16 个字符)和
+380 5555 55555(15 个字符)。
所以在第二种情况下,它允许添加一个不需要的字符。

如何解决这个问题?也许 PhoneNumberFormattingTextWatcher 中有一个内置功能来限制电话号码?

如何为所有区域代码实现单一格式
成为:+380 50 555 5555+380 55 555 5555 ?

最佳答案

你要找的东西是:

EditText telNumber = (EditText) findViewById(R.id.txt_tel);
telNumber.setInputType(InputType.TYPE_CLASS_PHONE);
InputFilter[] filter = new InputFilter[1];
filter[0] = new InputFilter.LengthFilter(16);
telNumber.setFilters(filter);

至于字符限制,唯一适用的属性是您提到的android:maxLength。我相当确定 TextView 只计算输入字符,而不计算它在该条件下显示在 View 中的字符。

关于Android edittext手机格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34790398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com