티스토리 뷰
728x90
데이터 바인딩을 하기 위해 가장 먼저 해야할 일은 xml 파일에 대응하는 binding 파일의 객체를 생성하는 것이다.
이 객체를 이용해 xml 아이디를 바로 접근해 뷰를 제어할 수 있다.
binding = DataBindingUtil.setContentView(this, R.layout.activity_notification)
activity에서는 위처럼 xml 파일명을 setContentView에 넣어서 binding 객체를 얻는다.
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
super.onCreateView(inflater, container, savedInstanceState)
binding = binding파일명.inflate(inflater, container, false)
//...
return binding.root
}
반면에 fragment는 activity의 하위 개념이기 때문에 setContentView를 사용하면 오류가 발생한다.
따라서 위 코드와 같이 binding 객체를 얻을 수 있다.
fragment에 해당하는 xml의 binding 파일명의 inflate()를 호출한다.
(fragment xml의 파일명이 fragment_main.xml이라면, binding 파일명은 FragmentMainBinding)
728x90
'android' 카테고리의 다른 글
[안드로이드/코틀린] Retrofit2를 통한 PUT/DELETE 사용 예시 (0) | 2023.10.12 |
---|---|
[안드로이드/코틀린] Retrofit2 라이브러리로 JSON 데이터 다루기 (GET, POST) (0) | 2023.10.12 |
[안드로이드/코틀린] AlarmManager 개념 알아보고 구현하기 (0) | 2023.09.29 |
[안드로이드/코틀린] Notification 개념 알아보고 구현하기 (0) | 2023.09.26 |
[안드로이드/코틀린] registerForActivityResult() - activity간 데이터 전달 (0) | 2023.09.26 |