如何在android中设置美国格式的电话号码?
我正在开发一个应用程序,我想设置美国格式的电话号码,如xxx xxx xxxx。我该怎么做 您需要更改区域设置->区域设置和文本->选择区域设置 否则,希望此链接将有所帮助如何在android中设置美国格式的电话号码?,android,android-edittext,phone-number,Android,Android Edittext,Phone Number,我正在开发一个应用程序,我想设置美国格式的电话号码,如xxx xxx xxxx。我该怎么做 您需要更改区域设置->区域设置和文本->选择区域设置 否则,希望此链接将有所帮助 您需要更改区域设置->区域设置和文本->选择区域设置 否则,希望此链接将有所帮助 试着用这个来处理电话号码。它支持按照您的要求格式化国家/国际电话号码。 试着用这个来处理电话号码。它支持格式化国家/国际电话号码,如您所需。尝试实现以下代码,然后您将在输入号码时获得- text.addTextChangedListe
您需要更改区域设置->区域设置和文本->选择区域设置 否则,希望此链接将有所帮助 试着用这个来处理电话号码。它支持按照您的要求格式化国家/国际电话号码。
试着用这个来处理电话号码。它支持格式化国家/国际电话号码,如您所需。尝试实现以下代码,然后您将在输入号码时获得-
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) {
}
});
尝试实现以下代码,然后在输入数字时,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) {
}
});
mobileEditText.addTextChangedListenerwatcher; 用户可以使用以下功能
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;
}
mobileEditText.addTextChangedListenerwatcher; 用户可以使用以下功能
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;
}
试试这个:[试试这个:[@prasad.gai:您好,您的代码正常工作。但当用户按下软键盘上的“删除”按钮时,其行为会有所不同,即“-”符号没有出现在索引上,它应该出现在错误的位置。应该做什么更改?@prasad.gai hii我想添加到这个foramt.800 555-6666中,请告诉我它是如何实现的sible?我刚刚用u give code完成了…@prasad.gai:嗨,你的代码应该是这样工作的。但是当用户从软键盘上按Delete按钮时,它的行为不同,即“-”符号没有出现在它应该出现的索引上,并且出现在错误的位置。应该做什么更改?@prasad.gai hii我想在这张表中添加。800 555-6666那么请告诉我这是怎么可能的?我刚刚完成了你的代码。。