코틀린 6-4 뷰 바인딩

hong030·2022년 1월 30일
0

뷰 바인딩: xml에 등록한 객체를 하나하나 findViewById()로 하기엔 귀찮음..
1. 그래들 파일 안드로이드 안에 buildFeatures{viewBinding=true} 라고 지정한다.
2. sync한다.
그럼 자동으로 클래스가 생성되어 이 클래스를 이용하면 된다!!

  1. 다시 kt 코드 파일로 가서... class MainActivity 안에 먼저 바인딩 객체를 지정한다.
    val binding = ActivityMainBinding.inflate(layoutInflater)
  2. 지정한 바인딩 객체를 화면에 출력한다. setContentView(binding.root)
  3. 본격적으로 뷰 객체 이용하기.
    binding.button1.setOnclickListener{binding.targetView.visiblility = View.VISIBLE}
    binding.button2.setOnClickListener{binding.targetView.visibility = View.INVISIBLE}

main kt 파일 예시

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import com.example.myapplication.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)

        binding.b1.setOnClickListener {
            binding.targetView.visibility = View.VISIBLE
        }
        binding.b2.setOnClickListener {
            binding.targetView.visibility = View.INVISIBLE
        }
    }
}



profile
자바 주력, 프론트 공부 중인 초보 개발자. / https://github.com/hongjaewonP

0개의 댓글