MainActivity3.kt
package com.example.ex_event
import android.os.Bundle
import android.view.KeyEvent
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import com.example.ex_event.databinding.ActivityMain3Binding
class MainActivity3 : AppCompatActivity() {
lateinit var binding : ActivityMain3Binding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMain3Binding.inflate(layoutInflater)
setContentView(binding.root)
// 이벤트를 연결할 때 반드시 흐름 먼저 정리하고 기능 만들기!
// 1. send 버튼에 클릭 이벤트 연결
binding.send.setOnClickListener{
// 2. send 버튼이 눌렸을 때 PlainText(id:input)에 입력된 내용 가져오기
var data : String = binding.input.text.toString()
// 3. 입력된 값을 화면에 띄울 수 있도록 TextView에 전달하기
binding.msg.text = data
}
// +) 키보드 Enter를 이용한 이벤트 연결
// key리스너 사용 시 필수 매개변수
// v, keyCode, event -> 1. 키가 눌렸는지 2. 키가 눌러져 있다가 떨어졌는지
binding.input.setOnKeyListener{ v, keyCode, event ->
// 1. keycode가 Enter가 눌렸는지 안눌렸는지 판단
if(keyCode == KeyEvent.KEYCODE_ENTER){
// 2. 입력된 내용을 가져와서 data 변수에 저장
var data = binding.input.text.toString()
// +) 디테일 추가 ( 입력 값 초기화 )
binding.input.setText("")
// 3. 저장된 data 값을 TextView에 띄우기
binding.msg.text = data
// 한번 셋팅된 이벤트를 그대로 다른 이벤트로 연결
true
}
// 셋팅된 내용을 다른 이벤트를 진행할 때 무효화 하는 기능
false
}
}
}