1. EditText란?
- 사용자에게 문자열을 입력받는 용도로 사용하는 View.
2. 리스너
1. OnEditorActionListener
- 엔터 키를 누르면 반응하는 리스너
2. TextWatcher
- 입력을 할 때 마다 반응하는 리스너
3. 주요 프로퍼티
프로퍼티 | 설명 |
inputType | 입력받을 데이터의 형태를 설정 |
hint | 안내 문구를 설정 |
text |
처음 보여질 때 나타나는 문자열을 설정 (String이 아니라 EditText기 때문에 SetText()로 바꿔야함) (어떤 버튼을 눌렀을 때 그 창 비우기 할 때 버튼 누르면 -> EditText.setText(""); 로 많이 처리. |
imeOptions | 키보드 엔터키의 형태를 설정(이동, 다음 등) |
4. 중첩 클래스로 리스너 적용
override fun onCreate(savedInstanceState: Bundle?) {
var listener1 = EnterListener();
editText.setOnEditorActionListener(listener1);
}
OnEditorAction() 함수의 return 값을 true로 하면 엔터키 눌렀을 때 키보드가 안내려가고,
return 값을 false로 하면 엔터키 눌렀을 때 키보드가 내려간다.
inner class EnterListener : TextView.OnEditorActionListener{
override fun onEditorAction(v: TextView?, actionId: Int, event: KeyEvent?): Boolean {
textView.text = editText.text;
// 키보드 안내려감
return true;
// 키보드 내려감
// return false;
}
}
var listener1 = EnterListener();
editText.setOnEditorActionListener(listener1);
inner class Watcher : TextWatcher {
override fun afterTextChanged(s: Editable?) {
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
textView.text = s;
}
}
5. 람다식으로 리스너 적용
editText.setOnEditorActionListener { v, actionId, event ->
textView.text = editText.text;
false
}
// 익명 중첩 클래스.
var watch = Watcher();
editText.addTextChangedListener(watch);
editText.addTextChangedListener( object : TextWatcher {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
textView.text = s;
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun afterTextChanged(s: Editable?) {
}
})
'Deperecated > Android_강의' 카테고리의 다른 글
안드로이드 - AdapterView (0) | 2020.02.10 |
---|---|
안드로이드 - ImageView (0) | 2020.02.08 |
안드로이드 - SeekBar (0) | 2020.02.08 |
안드로이드 - Progress Bar (0) | 2020.02.07 |
안드로이드 - 라디오 버튼 (0) | 2020.02.07 |