android edittext 手机号码,Android中EditText中的电话号码格式

在Android的EditText中输入电话号码时,如何设置(xxx)xxx-xxxxx格式的电话号码?

我想要(,),-字符自动添加到特定位置.

我写了代码,但仅在andorid 2.2版本中有效,而在上述版本中无效.

我在stackoverflow中搜索了更多问题.

请检查我的代码:

phone.addTextChangedListener(new TextWatcher () {

@Override

public void afterTextChanged(Editable chars) {

// TODO Auto-generated method stub

}

@Override

public void beforeTextChanged(CharSequence s, int start, int count,

int after) {

// TODO Auto-generated method stub

}

@Override

public void onTextChanged(final CharSequence s, final int start, int lengthBefore,

int lengthAfter) {

// TODO Auto-generated method stub

count = start;

/*if (phone.getText().length() <= 0) {

phone.append("(");

phone.setSelection(1);

}else if (count == 3) {

phone.append(")");

}else if (count == 7) {

phone.append("-");

}

*/

}

});

phone.setOnKeyListener(new OnKeyListener (){

@Override

public boolean onKey(View arg0, int arg1, KeyEvent arg2) {

// TODO Auto-generated method stub

if(arg1 == KeyEvent.KEYCODE_DEL){

if(count > 0){

count = count - 1;

}

}else{

if(phone.getText().length() <= 0){

phone.append("(");

}else{

if(count == 3){

phone.append(")");

}else if(count == 7){

phone.append("-");

}

}

}

return false;

}

});

}

Logcat显示为:

01-03 15:07:23.529: W/InputManagerService(153): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40900f88

01-03 15:07:23.529: D/StatusBarPolicy(221): mFullChargeListener

01-03 15:07:25.749: V/AudioPolicyManager(84): startOutput() output 1, stream 1, session 1488

01-03 15:07:25.749: V/AudioPolicyManager(84): changeRefCount() stream 1, count 1

01-03 15:07:25.749: V/AudioPolicyManager(84): getDeviceForStrategy() from cache strategy 0, device 2

01-03 15:07:25.749: V/AudioPolicyManager(84): getNewDevice() selected device 2

01-03 15:07:25.749: V/AudioPolicyManager(84): setOutputDevice() output 1 device 2 delayMs 0

01-03 15:07:25.749: V/AudioPolicyManager(84): setOutputDevice() setting same device 2 or null device for output 1

01-03 15:07:25.749: V/AudioPolicyManager(84): releaseOutput() 1

01-03 15:07:25.769: V/AudioHardwareMSM72XX(84): open driver

01-03 15:07:25.769: V/AudioHardwareMSM72XX(84): get config

01-03 15:07:25.769: V/AudioHardwareMSM72XX(84): set config

01-03 15:07:25.769: V/AudioHardwareMSM72XX(84): buffer_size: 4800

01-03 15:07:25.769: V/AudioHardwareMSM72XX(84): buffer_count: 2

01-03 15:07:25.769: V/AudioHardwareMSM72XX(84): channel_count: 2

01-03 15:07:25.769: V/AudioHardwareMSM72XX(84): sample_rate: 44100

01-03 15:07:25.939: W/AudioFlinger(84): write blocked for 164 msecs, 61 delayed writes, thread 0xcdd0

01-03 15:07:26.009: V/AudioPolicyManager(84): stopOutput() output 1, stream 1, session 1488

01-03 15:07:26.009: V/AudioPolicyManager(84): changeRefCount() stream 1, count 0

01-03 15:07:26.009: V/AudioPolicyManager(84): getNewDevice() selected device 0

01-03 15:07:26.009: V/AudioPolicyManager(84): setOutputDevice() output 1 device 0 delayMs 0

01-03 15:07:26.009: V/AudioPolicyManager(84): setOutputDevice() setting same device 0 or null device for output 1

01-03 15:07:26.699: V/AudioPolicyManager(84): startOutput() output 1, stream 1, session 1489

01-03 15:07:26.699: V/AudioPolicyManager(84): changeRefCount() stream 1, count 1

01-03 15:07:26.699: V/AudioPolicyManager(84): getDeviceForStrategy() from cache strategy 0, device 2

01-03 15:07:26.699: V/AudioPolicyManager(84): getNewDevice() selected device 2

01-03 15:07:26.699: V/AudioPolicyManager(84): setOutputDevice() output 1 device 2 delayMs 0

01-03 15:07:26.699: V/AudioPolicyManager(84): setOutputDevice() setting same device 2 or null device for output 1

01-03 15:07:26.699: V/AudioPolicyManager(84): releaseOutput() 1

01-03 15:07:26.859: V/AudioPolicyManager(84): stopOutput() output 1, stream 1, session 1489

01-03 15:07:26.859: V/AudioPolicyManager(84): changeRefCount() stream 1, count 0

01-03 15:07:26.859: V/AudioPolicyManager(84): getNewDevice() selected device 0

01-03 15:07:26.859: V/AudioPolicyManager(84): setOutputDevice() output 1 device 0 delayMs 0

01-03 15:07:26.859: V/AudioPolicyManager(84): setOutputDevice() setting same device 0 or null device for output 1

01-03 15:07:27.499: I/StatusBarPolicy(221): BAT. status:5 health:2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值