CountryCodePicker是否支持输入电话号码

时间:2018-06-05 16:43:01

标签: android

我在我的代码中使用CountryCodePicker,用户可以选择他所在的国家/地区并输入他的电话号码,此控件是否支持输入电话号码或我必须使用EditText查看?

另外,假设我必须使用EditText,此控件是否支持检查电话号码的有效性?

    <com.hbb20.CountryCodePicker
        android:id="@+id/ccpicker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        app:ccp_defaultLanguage="ENGLISH"
        app:ccp_defaultPhoneCode="54"
        app:ccp_showNameCode="false"
        app:ccp_rememberLastSelection="true" />

1 个答案:

答案 0 :(得分:1)

我找到了答案,希望能帮到别人。

CountryCodePicker支持绑定到EditText视图以输入电话号码,并支持覆盖以检查电话号码的有效性。

将CCP视图和编辑载体编号的文本添加到XML布局

              <LinearLayout
                  android:layout_width="match_parent"
                  android:layout_height="wrap_content"
                  android:gravity="center_vertical">

                  <com.hbb20.CountryCodePicker
                      android:id="@+id/ccp"
                      android:layout_width="wrap_content"
                      android:layout_height="wrap_content"
                      app:ccp_countryPreference="us,in"
                      />

                  <EditText
                      android:id="@+id/editText_carrierNumber"
                      android:layout_width="match_parent"
                      android:layout_height="wrap_content"
                      android:editable="false"
                      android:hint="phone"
                      android:inputType="phone"
                      android:singleLine="true" />
              </LinearLayout>

在Activity / Fragment中添加CCP对象

CountryCodePicker ccp;
EditText editTextCarrierNumber;

从布局

绑定CCP和运营商编号editText
ccp = (CountryCodePicker) findViewById(R.id.ccp);
editTextCarrierNumber = (EditText)findViewById(R.id.editText_carrierNumber);

将CarrierNumber editText附加到CCP。

ccp.registerCarrierNumberEditText(editTextCarrierNumber);

有效性更改每次输入的数字的有效性发生变化时,监听器都会收到回拨。

ccp.setPhoneNumberValidityChangeListener(new CountryCodePicker.PhoneNumberValidityChangeListener() {
            @Override
            public void onValidityChanged(boolean isValidNumber) {
               // your code
            }
        });

参考:https://github.com/hbb20/CountryCodePickerProject/wiki/Full-Number-Support#3-number-validation