【发布时间】:2017-07-23 01:56:54
【问题描述】:
升级到 Gradle 2.3 后。我的项目无法编译。我在控制台中有日志
incompatible types: ObservableInt cannot be converted to int
查看生成的文件
android.databinding.ObservableInt viewModelLoadingVisibility;
this.vLoading.getRoot().setVisibility(viewModelLoadingVisibility);
在xml 文件中
<android.support.v7.widget.RecyclerView
android:id="@+id/rvProducts"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:visibility="@{viewModel.contentVisibility}"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
/>
我在绑定类中尝试了方法
@BindingAdapter("app:visibility")
public static void setViewVisible(View view, ObservableInt visible) {
int visibility = visible.get();
view.setVisibility(visibility);
}
得到日志
警告:属性 app:visibility 的应用程序命名空间将被忽略。
public static void setViewVisible(View view, ObservableInt visible) {
警告:直接使用 ObservableField 和原始表亲作为方法参数已被弃用,支持将很快被删除。在方法 public static void setViewVisible(android.view.View,android.databinding.ObservableInt) 中使用内容作为参数
public static void setViewVisible(View view, ObservableInt visible) {
有人遇到过吗?
【问题讨论】:
标签: android android-gradle-plugin android-databinding