본문으로 바로가기
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

EditText의 이벤트를 받아올 때 쓰는 API가 있다.


addTextChangedListener(TextWatcher watcher)을 사용하면된다.

오버라이딩되는 API는 총 3가지가 있고 아래 소스 위에 주석으로 설명해 놓았다.


아래의 예제는 addTextChangedListener을 이용한 간단한 예제이다.

EditText를 통해 Password를 입력받을 때 8자리 이상이라고 가정한다면. 8자리 이하가 입력되었을 때 빨간색으로, 8자리 이상이면 검정색으로  EditText의 입력된 내용의 색이 바뀐다. 


EditText에는 다양한 inputType이 존재하는데 android:inputType="textPassword" 속성을 이용하면 Password를 입력받을 때처럼 문자가 똥그라미로 바껴서 보인다.



import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; import android.widget.EditText; public class MainActivity extends AppCompatActivity { EditText edt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edt = (EditText)findViewById(R.id.edt); edt.addTextChangedListener(new TextWatcher() { @Override //입력하기 전에 호출되는 API public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override //EditText에 변화가 있을 때 public void onTextChanged(CharSequence s, int start, int before, int count) { String text = s.toString(); if (text.length() < 8) { edt.setTextColor(Color.RED); } else { edt.setTextColor(Color.BLACK); } } @Override //입력이 끝났을 때 public void afterTextChanged(Editable s) { } }); } }


'Android' 카테고리의 다른 글

(EditText) 키보드 Enter(엔터) 키 변경  (0) 2016.04.25
(EditText) 포커스 이동, 커서 이동  (0) 2016.04.25
디바이스(Device) 화면 크기 구하기  (0) 2016.04.25
(Method)onWindowFocusChanged  (0) 2016.04.25
RecycleView 란?  (0) 2016.04.24