我在我的代码中使用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" />
答案 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和运营商编号editTextccp = (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