728x90
주요 속성
text : EditText에 표시할 문자열을 설정한다.
hint : 입력된 값이 없을 경우 표시할 안내 문구를 설정한다.
inputType : 입력 값에 대해 설정한다. 표시되는 형식, 나타나는 키보드 등에 영향을 준다.
imeOptions : 나타나는 키보드의 Enter 키 모양을 설정한다.
주요 프로퍼티
text : 사용자가 입력한 문자열 값
이벤트
TextWatcher : 사용자가 입력한 내용을 실시간으로 감시한다.
EditorAction : 키보드의 Enter 키를 눌렀을 때 발생하는 이벤트
package com.example.edittext
import android.content.Context
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.view.inputmethod.InputMethodManager
import androidx.core.widget.addTextChangedListener
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
button1.setOnClickListener {
textView1.text = editText1.text
// 포커스 삭제
val imm = getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
imm.hideSoftInputFromWindow(editText1.windowToken,0)
editText1.clearFocus()
}
editText1.addTextChangedListener(listener1)
// enter키 눌렀을때 액션
editText1.setOnEditorActionListener{v,actionId,event ->
textView1.text = "엔터 버튼을 눌렀습니다."
textView2.text = editText1.text
// false 키보드 없어짐, true 키보드 안없어짐
false
}
}
val listener1 = object : TextWatcher{
// 문자열이 변경되기 전
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
textView1.text = "before : $s"
}
// 문자열 변경 작업이 완료되었을 때
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
textView2.text = "changed : $s"
}
// 변경된 문자열이 화면에 반영되었을 때
override fun afterTextChanged(s: Editable?) {
textView3.text = "after : $s"
}
}
}728x90
'안드로이드 > Widget' 카테고리의 다른 글
| 안드로이드 ToggleButton (0) | 2022.05.30 |
|---|---|
| 안드로이드 ImageView (0) | 2022.05.30 |
| 안드로이드 TextInputLayout (0) | 2022.05.30 |
| 안드로이드 Button (0) | 2022.05.27 |
| 안드로이드 TextView (0) | 2022.05.27 |