-
[안드로이드] EditText 글자수 초과 경고 띄우기안드로이드(java)/UI 관련 2018. 11. 13. 17:11
작업을 하다보니 또 모르는게 나오네요.
언제쯤 걸리는거 없이 뚝딱 뚝딱 만들 수 있을지...
암튼 본론으로 넘어가면...
EditText에 입력된 글자수가 특정 글자수를 초과하면 경고창 띄우기를 했습니다.
// 글자수 제한이 넘어가게 되면 경고창 띄우기
inputSerialEt.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
if (s.toString().getBytes().length >= 12) {
AlertDialog.Builder builder = new AlertDialog.Builder(InputSerial.this);
builder.setMessage("번호는 11자리 입니다.");
builder.setPositiveButton("확인", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.show();
}
}
});edittext는 inputSerialEt로 주었고 리스너를 달아두었습니다.
글자수는 12자까지만 입력 되도록 xml에서 maxLength로 제한을 걸어두었고
여기에서는 12자리가 입력되는 순간 경고창을 띄웁니다.
afterTextChanged 메서드안에서 if문 걸고 s.toString().getBytes().length 를 이용합니다.
입력되는 값을 읽어들여서 전체 바이트 길이만큼 측정하는거같아요.
12자리가 되는 순간 "번호는 11자리 입니다." 가 나타나게 됩니다.
혹시라도 필요하신분은 참고하세요~
'안드로이드(java) > UI 관련' 카테고리의 다른 글
[안드로이드] 슬라이딩 레이아웃 만들기 (0) 2019.08.13 [안드로이드] 화면 고정, 세로 화면, 가로 화면 설정하기 (0) 2019.05.25 [안드로이드] 다이얼로그 사라질 때 라디오버튼 체크 해제하기 (0) 2018.11.06 [안드로이드] 버튼 터치 이벤트 막기 (0) 2018.11.05 [안드로이드] gridView 설정 관련 (0) 2018.10.29