【发布时间】:2017-01-28 16:30:06
【问题描述】:
我刚刚将 Android Studio 更新为 2.2,将 Gradle 插件更新为 2.2.0,当使用 DataBinding 初始化视图时,我在项目中收到以下错误。它说Type T has incompatible upper bounds。 Android Studio 没有提供有关如何解决此问题的建议。将绑定强制转换为确切的类并不能解决问题。
虽然它仍然可以编译和运行,但是项目充满了红色错误 - 每个DataBinding 初始化都有一个错误。有什么想法吗?
【问题讨论】:
-
如果你从
DataBindingUtil切换到你生成的绑定类(看起来应该是FragmentTimelineOverlayBinding),你会得到更好的结果吗? -
@CommonsWare 不太好,似乎参数不符合预期
(LayoutIflater, ViewGroup, int, DataBindingComponent) -
您应该在
FragmentTimelineOverlayBinding上有一个三参数inflate()方法作为选项。我刚刚在 AS 2.2 中使用 Android Plugin for Gradle 2.2.0 启动了我的一本书示例,RowBinding.inflate(getActivity().getLayoutInflater(), parent, false)被识别并编译(我的布局是row.xml)。 -
使用 3 参数
inflate()覆盖可解决错误。我想我会在项目中的任何地方更改它。 -
请提交针对 Android Studio 的错误。
标签: android android-studio gradle data-binding android-gradle-plugin