#android #kotlin #android-databinding #android-jetpack
#Android #котлин #android-привязка данных #android-реактивный ранец
Вопрос:
Вот мой код функции onBindViewHolder:
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val country = countries[position]
var countryInfoCardBinding = DataBindingUtil.setContentView<CountryInfoCardBinding>(context as Activity, R.layout.country_info_card)
countryInfoCardBinding.country = country
}
А вот мой XML-файл:
Комментарии:
1. … и в чем проблема? «Привет, посмотри на мою машину, она не работает».
Ответ №1:
Вы должны раздувать свой объект привязки данных onCreateViewHolder
, а не onBindViewHolder
. Теперь вы раздуваете объект, который не имеет никакого отношения к вашему представлению, поэтому (я предполагаю) ничего не появляется
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val country = countries[position]
holder.binding.country = country
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val binding = CountryInfoCardBinding.inflate(
LayoutInflater.from(parent.context),
parent,
false
)
return ViewHolder(binding)
}
inner class ViewHolder(val binding: CountryInfoCardBinding) : RecyclerView.Viewholder(binding.root)