Android数据绑定编译警告:使用'。'的方法引用已弃用

时间:2016-05-10 23:00:52

标签: android android-gradle android-databinding

在构建项目时,我看到以下编译器警告:

warning: Method references using '.' is deprecated. Instead of 'item.onCardClicked', use 'item::onCardClicked'

我在gradle 2.1.0中使用android插件。

我的布局文件如下所示:

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

<data>
    <variable
        name="item"
        type="com.example.Card"/>
</data>
<LinearLayout android:layout_width="match_parent"
      android:layout_height="match_parent">
  <TextView
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:clickable="true"
      android:onClick="@{item.onCardClicked}"/>
...
</LinearLayout>
</layout>

有人能指出我正确的方向来解决此警告吗?

1 个答案:

答案 0 :(得分:9)

根据错误消息:

  

警告:方法引用使用&#39;。&#39;已弃用。 使用&#39; item :: onCardClicked&#39;

而不是&#39; item.onCardClicked&#39;

所以用@{item.onCardClicked}

替换@{item::onCardClicked}