EditText电话号码格式化输入删除案例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EditText电话号码格式化输入删除案例相关的知识,希望对你有一定的参考价值。

    我们在输入电话号码的时候,一般都会切割一个较长的电话号码。这种话效果会好非常多。。对EditText的监听能够轻松的实现这个需求。仅仅须要我们给相应的EditText加一个监听就OK了。。贴一下我写的一个watcher

public static class MyTextWatcher implements TextWatcher {

		private EditText numberEditText;
		private Button confirmButton;
		int beforeLen = 0;
		int afterLen = 0;

		public MyTextWatcher(EditText numberEditText, Button confirmButton) {
			this.numberEditText = numberEditText;
			this.confirmButton = confirmButton;
		}

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

		@Override
		public void beforeTextChanged(CharSequence s, int start, int count,
				int after) {
			beforeLen = s.length();
		}

		@Override
		public void afterTextChanged(Editable s) {
			String txt = numberEditText.getText().toString();
			afterLen = txt.length();

			if (afterLen > beforeLen) {
				if (txt.length() == 4 || txt.length() == 9) {
					numberEditText.setText(new StringBuffer(txt).insert(
							txt.length() - 1, " ").toString());
					numberEditText.setSelection(numberEditText.getText()
							.length());
				}
			} else {
				if (txt.startsWith(" ")) {
					numberEditText.setText(new StringBuffer(txt).delete(
							afterLen - 1, afterLen).toString());
					numberEditText.setSelection(numberEditText.getText()
							.length());

				}
			}

		}
	}


使用的时候仅仅须要new 这个watcher。传入当前的Edittext就可以

以上是关于EditText电话号码格式化输入删除案例的主要内容,如果未能解决你的问题,请参考以下文章

使用电话号码格式 NaN 屏蔽 EditText,如 PhoneNumberUtils

firebase 的短信代码不匹配

从android中的edittext框中获取XXX-XXX-XXXX格式的电话号码

EditText 的 Android 电话号码掩码

如何使 EditText 接受格式输入:

Android 电话号码格式不适用于键盘和 EditText