반응형
EditText의 값(Text) 변경 때 발생하는 이벤트처리 방법입니다.
1. TextWatcher 인터페이스
- EditText의 값(Text)가 변경될 때 발생하는 이벤트를 처리하기 위해서 사용해야 할 인터페이스입니다.
2. Layout XML
- Layout XML에 EditText를 추가합니다.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText"/>
</LinearLayout>
3. Java
- 아래의 코드와 같이 EditText에 Listener를 추가하여 이벤트를 처리하면 됩니다.
- 입력이 완료(한글자 단위)되면 호출되는 afterTextChaned 메소드를 주로 사용하게 될 것입니다.
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText = (EditText)this.findViewById(R.id.editText);
editText.addTextChangedListener(new TextWatcher() {
// 입력되는 텍스트에 변화가 있을 때
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Toast.makeText(MainActivity.this, "입력중", Toast.LENGTH_SHORT).show();
}
// 입력이 끝났을 때
@Override
public void afterTextChanged(Editable editable) {
Toast.makeText(MainActivity.this, "입력완료", Toast.LENGTH_SHORT).show();
}
// 입력하기 전에
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
Toast.makeText(MainActivity.this, "입력전", Toast.LENGTH_SHORT).show();
}
});
}
}
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 - 소프트 키보드 보이기/숨기기 (0) | 2015.05.14 |
---|---|
안드로이드 - 리스트뷰(ListView)에 이미지 넣기 (0) | 2015.05.14 |
안드로이드 - 텍스트뷰(TextView) 문자 정렬 (0) | 2015.05.12 |
안드로이드 - 텍스트뷰(TextView) 긴 문장 흐르게 처리하기 (0) | 2015.05.11 |
안드로이드 - 텍스트뷰(TextView)에 긴 문장의 줄임(..) 표시 (0) | 2015.05.11 |
댓글