首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PhoneNumberUtils.isGlobalPhoneNumber未返回正确的结果

PhoneNumberUtils.isGlobalPhoneNumber未返回正确的结果
EN

Stack Overflow用户
提问于 2016-02-11 03:23:46
回答 1查看 634关注 0票数 0

我在布局xml中定义了一个EditText,如下所示:

代码语言:javascript
复制
<EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="phone"
        android:ems="10"
        android:id="@+id/enter_phone_field"
        android:layout_below="@id/enter_name_field"
        android:layout_alignRight="@id/destination_value_label"
        android:layout_alignEnd="@id/destination_value_label" />

我已经像这样实现了它的OnFocusChangeListener:

代码语言:javascript
复制
enterPhoneNumber = (EditText)findViewById(R.id.enter_phone_field);


        // phone number lost focus listener
        enterPhoneNumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                if (!hasFocus){
                    if (PhoneNumberUtils.isGlobalPhoneNumber(enterPhoneNumber.getText().toString())){
                        //valid phone number detected
                        Log.i("PhoneNumberValidated", enterPhoneNumber.getText().toString());
                    }
                    else {
                        enterPhoneNumber.setError("Please enter valid phone number");
                    }
                }
            }
        });

我尝试在enterPhoneNumber字段中输入34,但由于某些原因,当我点击它时,它没有显示错误。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-11 03:59:08

因为根据PhoneNumberUtils.isGlobalPhoneNumber的定义,"34“是全局编号,它依次检查"34”是否与模式匹配:

代码语言:javascript
复制
private static final Pattern GLOBAL_PHONE_NUMBER_PATTERN =
            Pattern.compile("[\\+]?[0-9.-]+");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35324149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档