android - 如何在android中设置美国格式的电话号码?

标签 android android-edittext phone-number

我正在开发一个应用程序,我想在其中设置美国格式的电话号码,例如 xxx-xxx-xxxx。我怎样才能做到这一点?

最佳答案

尝试实现下面的代码然后你会在输入数字时得到“-”

    text.addTextChangedListener(new TextWatcher() {

     public void onTextChanged(CharSequence s, int start, int before, int count) {

         boolean flag = true;
         String eachBlock[] = text.getText().toString().split("-");
         for (int i = 0; i < eachBlock.length; i++) 
         {
             if (eachBlock[i].length() > 3)
             {
                 Log.v("11111111111111111111","cc"+flag + eachBlock[i].length());
             }
         }
         if (flag) {
             text.setOnKeyListener(new OnKeyListener() {

                 public boolean onKey(View v, int keyCode, KeyEvent event) {

                     if (keyCode == KeyEvent.KEYCODE_DEL)
                         keyDel = 1;
                     return false;
                 }
             });

             if (keyDel == 0) {

                 if (((text.getText().length() + 1) % 4) == 0) 
                 {
                     if (text.getText().toString().split("-").length <= 2) 
                     {
                         text.setText(text.getText() + "-");
                         text.setSelection(text.getText().length());
                     }
                 }
                 a = text.getText().toString();
             }
             else
              {
                 a = text.getText().toString();
                 keyDel = 0;
             }

         } else {
             text.setText(a);
         }

     }

     public void beforeTextChanged(CharSequence s, int start, int count,int after) 
     {


     }

    public void afterTextChanged(Editable s) {


    }


 });

关于android - 如何在android中设置美国格式的电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9600363/

相关文章:

javascript - 从自由文本中提取电话号码

java - java.lang.AbstractMethodError android.text.TextUtils.writeToParcel崩溃可能与可访问性有关

跨应用程序的 Android AccountManager : uninstalling the first app that registered the account causes the account to be deleted?

java - 如何将EditText输入转换为Float

Android - 将 EditText 键盘输入类型设置为符号和数字 ("?123")

php - 通过 PHP 从 MySQL 搜索多种电话号码格式

使用跟踪代码管理器的 Android 内容实验几天后未显示 session

android - 在android中获取RadioGroup计数

android - 编辑文本大小不应改变 ImageView 的大小

html - 电话号码未显示在 iOS 上的 safari 中