java - 在 Recycleview 中将数据绑定到布局
问题描述
我目前正在 Android Studio 上开发我的第一个应用程序。我想将数据绑定到我在回收视图中膨胀的布局。
这是我的数据类的相关部分:
public class ContactData {
public String contactName;
.....
这是我的布局 xml 的相关部分:
<layout>
<data>
<variable
name = "Cdata"
type="com.example.ketchup.ContactData" />
</data>
<TextView>
android:text="@{Cdata.contactName}"
</TextView>
....
我还创建了一个recycleview 适配器
public void onBindViewHolder(ViewHolder holder, int position) {
ContactData contactData = mData.get(position);
View contactEntry = holder.contactEntry;
.....
充气一切正常,我只是不明白我应该如何将 ContactData 绑定到布局。
谢谢!
解决方案
将此添加到 onBindViewHolder :
holder.bind(contactData);
并将此类添加到您的适配器:
public static class adapterViewHolder extends RecyclerView.ViewHolder {
public ListItemBinding listItemBinding;
public QuViewHolder(ListItemBinding listItemBinding) {
super(listItemBinding.getRoot());
this.listItemBinding = listItemBinding;
}
public void bind(ContactData obj) {
listItemBinding.setCdata(obj);
listItemBinding.executePendingBindings();
}
}
推荐阅读
- r - 在用户定义的函数中包含不同的标签
- python - python - 将数据从 url 导入到 pandas
- javascript - 点击按钮更改视频
- javascript - 根据最新的cookie,做一些事情
- react-native - React Native - componentDidUpdate 导致应用程序运行缓慢
- html - 导航项不在同一行
- python - 尝试使用 Gmail 或 Outlook 通过 python 发送电子邮件
- ruby-on-rails - 未定义的方法“relation_delegate_class”
- google-cloud-platform - Google Cloud DNS 访问我的服务器
- javascript - 动态分配内存(在运行时声明变量)时,JavaScript 中的提升如何工作?