EditText 전화 번호 포맷 입력, 사례 삭제

1453 단어 android
우리가 전화번호를 입력할 때, 일반적으로 비교적 긴 전화번호를 분할하는데, 이렇게 하면 효과가 매우 좋아질 것이다.EditText에 대한 감청은 이 수요를 쉽게 실현할 수 있다. 우리가 대응하는 EditText에 감청을 추가하면 된다.제가 쓴 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에 전송할 수 있습니다

좋은 웹페이지 즐겨찾기