View Binding 뷰 바인딩

less than 1 minute read

View binding

이전에 사용하던 kotlin extention은 deprecate되고 findViewById를 사용하는 것 보다는 View Binding을 사용하는 것이 차후 코드를 간결하게 하고 안드로이드에 대한 이해를 높일 수 있을 것이라 생각해서 기본적인 사용법을 정리하고자 한다.

사용

우선 gradle 설정은 다음과 같다. 이 때 안드로이드 스튜디오 버전마다 조금은 다르다고 하는데 4.2.1버전에서 진행하였다.

android {
... // 기본적으로 작성된 내용들 생략
	viewBinding {
		enabled = true
	}
}

그 후 activity_main.xml 파일을 기준으로 설명을하면 ActivityMainBinding의 형태로 클래스 이름을 활용한다.

class MainActivity : AppCompatActivity() {
	
	private lateinit var binding : ActivityMainBinding

	override fun onCreate(savedInstanceState: Bundle?) {
		super.onCreate(savedInstanceState)
		binding = ActivityMainBinding.inflate(layoutInflater)
		val view = binding.root
		setContentView(view)
	}
	
}

이후 activity_main.xml 파일에 button1이라는 id를 가진 ButtonView가 있다면 binding.button1.setOnClickListener()와 같이 kotlin extention사용하듯이 사용하면 된다.

FragmentRecyclerView, Adapter등에서 또 사용방법이 다르다고 하는데 더 공부해서 정리해야겠다.