Android - ViewBinding
◆ ViewBinding이란?
xml에서 해당 뷰값을 변경하려는 작업을하려면 findViewById를 이용하여 변경해야했는데 문제점은 뷰가 많아지면 작성해야되는 코드가 많아져 번거러움이 있다. 이걸 해결하기 위해 ViewBinding을 사용한다.
findViewById 사용했을 때
val visibleButton:Button = findViewById(R.id.visiblerBtn1)
val targetView:TextView = findViewById(R.id.targetView1)
val invisible:Button = findViewById(R.id.invisible1)
visibleButton.setOnClickListener(){
targetView.visibility = View.VISIBLE
}
invisible.setOnClickListener(){
targetView.visibility = View.INVISIBLE
}
◆ ViewBinding 사용방법
1.build.gradel.kts(:app)에 android 태그안에 코드 작성
buildFeatures {
viewBinding = true
}
2. 바인딩 객체 취득
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// setContentView(R.layout.activity_main) ->주석처리
//바인딩 객체 취득
val binding = ActivityMainBindng.inflate(layoutInflater)
setContentView(binding.root)
}
3. 뷰 받아오기
문법 binding.변수이름.이벤트
예제
binding.invisible1.setOneClickListener{
binding.targetView1.visibility = View.INVISIBLE
}
invisible1의 id값을 가지고 있는 뷰를 클릭했을 때 id값이 targetView1인 뷰를 보여주겠다라는 의미이다.
댓글남기기