Nuke Olaf - Log Store

[Android] 안드로이드 - Data Binding 사용시 리사이클러뷰 레이아웃이 이상해질 때 본문

Android

[Android] 안드로이드 - Data Binding 사용시 리사이클러뷰 레이아웃이 이상해질 때

NukeOlaf 2020. 5. 4. 03:25

원래는 이렇게 나와야할 리사이클러뷰가, data binding 을 적용한뒤 이렇게 이상하게 나왔다.

원인을 찾아보니, 데이터 바인딩이 문제가 아니라 리사이클러뷰 Adapter 의 onCreateViewHolder() 함수에서, inflating 하는 과정에 문제가 있었다.

원래는 이랬는데

 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
    val inflater = LayoutInflater.from(parent.context)
    val binding = RVItemBinding.inflate(inflater)
    return ViewHolder(binding)
}

이렇게 바꿔주니 해결!

 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
    val inflater = LayoutInflater.from(parent.context)
    val binding = RVItemBinding.inflate(inflater, parent, false)
    return ViewHolder(binding)
}

 

참고 >>>

https://stackoverflow.com/questions/38291073/constraintlayout-with-databinding-incorrect-width-in-recyclerview

Comments