在我的 Android
应用程序中,我想创建自己的电话号码格式,但仍然找不到方法。
我阅读了有关电话号码库等的信息,但仍然找不到方法来执行此操作,因为所有库都可以与 US
、German
、 正常工作>法语
和其他格式。我想支持俄语
,但这些库无法正常工作。
唯一的方法是我必须创建自己的格式。
例如,如果我输入
79123456789
它的格式必须像这里一样
+7(912)345-67-89
我找到了 IOS
(SHSPhoneTextField) 的库,但在 Android
中却没有。
有人可以告诉我这里有好的解决方案吗?
mPhoneNumber.addTextChangedListener(new PhoneNumberFormattingTextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
if (charSequence.length() == 11)
mPhoneNumber.setText(PhoneNumberUtils.formatNumber(charSequence.toString()));
}
@Override
public void afterTextChanged(Editable editable) {
}
});
最佳答案
也许这会有所帮助(PhoneNumberUtils):http://developer.android.com/reference/android/telephony/PhoneNumberUtils.html
一个小例子:
String formattedNumber = PhoneNumberUtils.formatNumber(unformattedNumber);
这将根据号码所在国家/地区的规则自动设置号码格式。
查看 PhoneNumberUtils 了解更多选项。
关于java - 自定义电话号码格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21881728/