728x90
Android Studio의 버전이 변경되면서 추가된 라이브러리
기존의 androidx를 통해 View의 주소값을자동으로받아오는 것은 Kotlin 밖에 되질않아 이를 자바에서 사용할 수 있도록 추가한 라이브러리
layout 폴더에 있는 xml 파일을 관리하는 클래스를 자동 생성하여 이를 통해 View를 관리할 수 있는 개념
layout 폴더에 있는 xml 파일당 하나의 클래스가 생성되며 이 클래스에는 xml 파일에 배치한 Viwe들을 관리할 수 있는 기능이 구현되어 있다.
이를 통해 View들을 손쉽게 관리할 수 있다.
build.gradle 설정
액티비티에서 사용하기
val binding by lazy { 레이아웃파일명Binding.inflate(layoutInflater)}
프래그먼트에서 사용하기
// onCreateView() 안에서 다음과 같이 사용됩니다
var binding = 레이아웃파일명Binding.inflate(LayoutInflater.from(container.context),container,false)
// OnCreateViewHolder()안에서 다음과 같이 사용됩니다.
var binding = 레이아웃파일명Binding.inflate(LayoutInflater.from(parent.context),parent,false)
어댑터에서 사용하기
package com.example.viewbinding
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.example.viewbinding.databinding.ActivityMainBinding
import com.example.viewbinding.databinding.ActivitySecondBinding
class MainActivity : AppCompatActivity() {
// Binding 객체를 담을 변수
lateinit var binding: ActivityMainBinding
lateinit var binding2: ActivitySecondBinding
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Binding 객체를 추출한다.
// binding = ActivityMainBinding.inflate(layoutInflater)
binding2 = ActivitySecondBinding.inflate(layoutInflater)
// 화면을 셋팅한다
setContentView(binding2.root)
// setContentView(R.layout.activity_main)
binding2.button.setOnClickListener {
binding2.textView.text = "버튼을 눌렀습니다"
}
}
}
728x90
'안드로이드' 카테고리의 다른 글
안드로이드 비밀 키 저장방법 (0) | 2022.12.16 |
---|---|
안드로이드 fragment matchparent error (0) | 2022.07.20 |
안드로이드 ui 디자인 (0) | 2022.07.14 |
안드로이드 에뮬레이터 저장공간 정리 (0) | 2022.06.07 |
코틀린 개발시 추가 (0) | 2022.05.26 |