Android国家代码选择器lib

时间:2018-01-24 07:28:43

标签: android country-codes libphonenumber

目前我正在使用https://github.com/hbb20/CountryCodePickerProject 库允许用户选择国家/地区,格式化输入的电话号码并验证否。

它很好,但没有满足我的要求。有几个问题..

  1. 如果用户输入电话号码。使用国家/地区代码,将其视为无效电话号码
  2. 即已选择印度,用户输入91 99 xxx xxxxx。(无效)。

    1. 进入手机号码国家代码,国旗或国家/地区未获得选择。
    2. 格式也不适用于更改国家/地区。
    3. 如果用户编辑电话号码。已保存,然后保存其附加的国家/地区代码。
    4. 即如果我要更改91 99 xxx xxxxx,则保存为91 91 99 xxx xxxxx。这是无效的。

      任何人都可以为我推荐解决方案或智能库。

1 个答案:

答案 0 :(得分:1)

试试这个库,它比HBB20

更好

将jitpack.io添加到root build.gradle文件中:

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

将库添加到您的app build.gradle文件,然后同步

dependencies {
    compile 'com.github.joielechong:countrycodepicker:2.1.5'
}

将ccp视图添加到xml布局

<com.rilixtech.CountryCodePicker
      android:id="@+id/ccp"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content" />

将AppCompatEditText视图添加到布局

<android.support.v7.widget.AppCompatEditText
       android:id="@+id/phone_number_edt"
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:hint="phone"
       android:inputType="phone"/>

使用代码

注册AppCompatEditText
CountryCodePicker ccp;
AppCompatEditText edtPhoneNumber;

ccp = (CountryCodePicker) findViewById(R.id.ccp);
edtPhoneNumber = (AppCompatEditText) findViewById(R.id.phone_number_edt);

ccp.registerPhoneNumberTextView(edtPhoneNumber);

您可以使用isValid()方法检查电话号码的有效性。

希望这会有所帮助。有关更多信息,请查看此链接:

https://github.com/joielechong/CountryCodePicker