使用DataBinding后,编译提示找不到BR类

土豆片子 2017-01-09 05:24:15
在apapter中使用了DataBinding,编写的时候没有提示异常,但在运行时提示找不到BR类。
在build.gradle文件中有
dataBinding{
enabled true
}


Adapter中:

import com.tool.room.BR;


@Override
public ConsumeListAdapter.MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {

ViewDataBinding dataBinding = DataBindingUtil.inflate(LayoutInflater.from(viewGroup.getContext()),
R.layout.detail_consume_list_item,viewGroup,false);
MyViewHolder myViewHolder = new MyViewHolder(dataBinding.getRoot());
myViewHolder.setDataBinding(dataBinding);
return myViewHolder;
}

@Override
public void onBindViewHolder(ConsumeListAdapter.MyViewHolder myViewHolder, int i) {

ConsumeBean bean = mList.get(i);
myViewHolder.getDataBinding().setVariable(BR.bean,bean);
myViewHolder.getDataBinding().executePendingBindings();
}




Xml中

<?xml version="1.0" encoding="utf-8"?>
<layout>

<data>

<variable
name="bean"
type="com.tool.room.bean.ConsumeBean"/>

<import type="com.tool.room.utils.DataBindingUtil"/>
</data>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:gravity="center_vertical"
android:orientation="horizontal">

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@{bean.time}"
android:textColor="@color/context_text_color"
android:textSize="@dimen/sp_13"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@{DataBindingUtil.getConsumeTypeById(bean.type)}"
android:textColor="@color/context_text_color"
android:textSize="@dimen/sp_13"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@{bean.money}"
android:textColor="@color/context_text_color"
android:textSize="@dimen/sp_13"/>

<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="@{bean.remark}"
android:textColor="@color/context_text_color"
android:textSize="@dimen/sp_13"/>
</LinearLayout>
</layout>
...全文
2086 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
uiiee 2019-10-17
  • 打赏
  • 举报
回复
编译器本来就有问题,有一次,我建了一个package,名称的首字母大写,然后用Databinding,然后install时候报错,然后 我把package名称改成首字母小写,就过了。
wisely3 2017-03-06
  • 打赏
  • 举报
回复
https://my.oschina.net/wiselyming/blog/852956 这是我写的 但是我在Android Studio2.3上面不行, 不知道为什么,如果你有stackoverflow的账户,帮我去那个高票答案下面留个言,问下为什么

80,349

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧