개요

Android에서 EditText의 텍스트가 변경될 때마다 변경된 값을 실시간으로 감지하여 처리할 수 있습니다. 이를 위해 addTextChangedListener 메서드를 사용합니다. 이 메서드는 EditText의 텍스트가 변경될 때마다 호출되는 리스너를 설정할 수 있게 해줍니다.

예제 코드

import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.core.widget.addTextChangedListener // addTextChangedListener를 사용하기 위한 import
import com.example.myapplication.databinding.ActivityMainBinding // View Binding을 위한 import

class MainActivity : AppCompatActivity() {

    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater) // View Binding 초기화
        setContentView(binding.root)

        // 텍스트 변경 리스너 설정
        binding.inputEditText.addTextChangedListener { text ->
            binding.outputTextView.text = text.toString() // 입력된 텍스트를 TextView에 표시
        }
    }
}

설명

  • import androidx.core.widget.addTextChangedListener: addTextChangedListener 확장 함수를 사용하기 위한 import 문입니다. 이 함수를 사용하면 EditText의 텍스트 변경을 쉽게 감지할 수 있습니다.
  • ActivityMainBinding: View Binding을 통해 생성된 클래스입니다. XML 레이아웃 파일의 ID를 사용하여 UI 요소에 쉽게 접근할 수 있게 해줍니다.
  • addTextChangedListener: EditText의 텍스트가 변경될 때 호출되는 리스너를 추가합니다. 사용자가 입력하는 텍스트를 실시간으로 감지하여 처리할 수 있습니다. 여기서는 람다 식을 사용하여 입력된 텍스트를 TextView에 직접 표시합니다.