如何在android中使用dialerkeylistener
我想设置电话号码223-233-3334的格式,以便用户在键盘上键入时编辑文本。我知道我必须使用dialerkeylistener和textfilter。有人能给出如何在android中使用dialerkeylistener设置格式的示例吗 感谢非NANP(http://www.howtocallabroad.com/nanp.html)要在用户键入时实现电话号码格式设置,您可以使用以下解决方法:如何在android中使用dialerkeylistener,android,Android,我想设置电话号码223-233-3334的格式,以便用户在键盘上键入时编辑文本。我知道我必须使用dialerkeylistener和textfilter。有人能给出如何在android中使用dialerkeylistener设置格式的示例吗 感谢非NANP(http://www.howtocallabroad.com/nanp.html)要在用户键入时实现电话号码格式设置,您可以使用以下解决方法: yourEditText.addTextChangedListener(new TextWatch
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String typedNum = yourEditText.getText().toString();
if(typedNum.length() == 3)
{
yourEditText.setText(typedNum + "-");
yourEditText.setSelection(4);
}
else if(typedNum.length() == 7)
{
yourEditText.setText(typedNum + "-");
yourEditText.setSelection(8);
}
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
}
});
否则,解决方案可以是:
import android.telephony.PhoneNumberFormattingTextWatcher;
OnCreate:
yourEditText.addTextChangedListener(new PhoneNumberFormattingTextWatcher());
PhoneNumberUtils.formatNumber(Editable text, int defaultFormattingType);
如果您希望在用户输入电话号码后设置号码格式:
import android.telephony.PhoneNumberUtils;
OnCreate:
yourEditText.addTextChangedListener(new PhoneNumberFormattingTextWatcher());
PhoneNumberUtils.formatNumber(Editable text, int defaultFormattingType);
sharma在emulator中工作,但在设备中不工作,如果设备在indiaPlease中设置电话,请参见编辑的答案。我已经为你的要求做了一个变通办法。我希望它能帮助你。对不起,你读过这个问题的标题了吗?我认为你的答案不是预期的。