2012-03-07 18 views

答えて

6

は、uが取得する以下のコードを実装しようとする数

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) { 


    } 


}); 
+0

ありがとう。私のために働いた:) – nithinreddy

+0

私は投票を与える –

+0

私はすでにやった! :) – nithinreddy

1

http://code.google.com/p/libphonenumber/
役に立つことを願っています対処するためにこれを試してみてください電話番号でそれはあなたが必要なように、国内/国際電話番号のフォーマットをサポートしています。 " - "

0

mobileEditText.addTextChangedListener(ウォッチャー)を入力することで、 使用以下の機能..

private final TextWatcher watcher = new TextWatcher() { 


    public void beforeTextChanged(CharSequence s, int start, int count, int after) 
     { 
     mAfter = after; 
     } 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) 
     { 
     } 
     @Override 
     public void afterTextChanged(Editable s) { 
      if (!mFormatting) { 
       mFormatting = true; 
       if(mAfter!=0) // in case back space ain't clicked... 
      PhoneNumberUtils.formatNumber(s,PhoneNumberUtils.getFormatTypeForLocale(Locale.US));        
       mFormatting = false; 
      } 
関連する問題