Привязка данных Android не работает с атрибутами <merge>

Я пытаюсь использовать привязку данных с пользовательскими представлениями (возможное использование показало Джордж МаунтВот).

Невозможно представить построение сложных видов без<merge> тег. Однако в этой ситуации привязка данных не выполняется:

MyCompoundView учебный класс:

public class MyCompoundView extends RelativeLayout {

MyCompoundViewBinding binding;

public MyCompoundView (Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context);
}

private void init(Context context){
    LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    binding = MyCompoundViewBinding.inflate(inflater, this, true);
}

my_compound_view.xml: отapp:isGone="@{!data.isViewVisible}" я надеялся контролировать видимость всего составного вида

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

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

    <data>
        <variable name="data" type="com.example.MyViewModel"/>
    </data>

    <merge
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:isGone="@{!data.isViewVisible}">

        <ImageView
            android:id="@+id/image_image"
            android:layout_width="60dp"
            android:layout_height="60dp"
            app:imageUrl="@{data.imagePhotoUrl}"/>

         <!-- tons of other views-->

    </merge>

</layout>

Ошибки компилятора:

Error:(13) No resource identifier found for attribute 'isGone' in package 'com.example'
Error:(17, 21) No resource type specified (at 'isGone' with value '@{!data.isViewVisible}').

У меня есть все необходимое@BindingAdapter методы. Теперь я наследую мнение отFrameLayout и использовать<RelativeLayout> вместо<merge> - и это работает. Но у меня есть дополнительный вложенный макет.

Вопрос: merge attrs игнорируются. Есть ли способ обойти это?

Android Studio 1.5.1 стабильная

Gradle плагинcom.android.tools.build:gradle:1.5.0

Ответы на вопрос(1)

Ваш ответ на вопрос