override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = DataBindingUtil.setContentView(this, layoutId)
val binding = ListItemBinding.inflate(layoutInflater, viewGroup, false)
// or
val binding = DataBindingUtil.inflate(layoutInflater, R.layout.list_item, viewGroup, false)
//Fragment 예시
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val binding = DataBindingUtil.inflate(inflater, R.layout.fragment_main, container, false)
//or
val binding = FragmentMainBinding.inflate(inflater, container, false)
val view = binding.root
return view
}
//Adapter 예시
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
//View를 넘기는 경우
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_recyclerview, parent, false)
return ViewHolderItem(view) //뷰홀더에서 아래와 같이 binding 처리 필요
//val binding = DataBindingUtil.bind(view)
//binding을 넘기는 경우
val binding: ItemRecyclerviewBinding = DataBindingUtil.inflate(LayoutInflater.from(parent.context), R.layout.item_recyclerview, parent, false)
//or
val binding = DataBindingUtil.bind(view) //뷰홀더에서 처리하는 binding과 동일
return ViewHolderItem(binding)
}
binding = DataBindingUtil.inflate(inflater,R.layout.fragment_inbody_write,container,false)
binding.lifecycleOwner = this
참고
https://0391kjy.tistory.com/28