[TIL]220919 - View Binding

Jimin·2022년 9월 20일
0
post-thumbnail
class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding //npe때문에 컴파일 시점에 에러를 내주려고
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        //xml 내 text를 메모리에 하나씩 view 객체로 만들어줌, 처음 만들어지는 과정 인플레이션이라함
        binding = ActivityMainBinding.inflate(layoutInflater) //인플레이션: 통합, 팽창

        //setContentView(R.layout.activity_main)
        setContentView(binding.root)
        binding.txtHello.text = "View Binding"
    }
}


//build.gradle(app)	
android {
	    viewBinding {
        enabled = true
    }
}
//activity_main.xml 
<TextView
        android:id="@+id/txtHello"
        /> 
  • 뷰 바인딩(view binding) 안드로이드 아키텍처 구성요소로서 앱 모듈별로 설정하여 사용할 수 있는 기능
  • 뷰 바인딩 기능을 사용하면 뷰를 제어하는 코드를 쉽게 작성할 수 있음
  • 레이아웃 xml 파일과 연결되는 바인딩 클래스가 자동으로 설계되어 만들어지고 그 클래스의 멤버로서 레이아웃 xml에 id가 있는 모든 뷰를 참조하는 참조변수가 포함되어 있음
    • 별도의 findViewById()를 하지 않아도 이 바인딩 클래스의 객체(인스턴스)안에 모든 뷰들의 참조변수가 만들어져 있기에 그냥 사용하기만 하면 됨!

0개의 댓글