Ligação de dados do Android: “Referências de método usando '.' está obsoleto "

Ao usar a ligação de dados no meu aplicativo, recebo o seguinte aviso ao compilar:

Warning:Method references using '.' is deprecated. Instead of 'handler.onItemClick', use 'handler::onItemClick'

Por favor, veja meu XML abaixo.

<?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"
    xmlns:tools="http://schemas.android.com/tools">
    <data>
        <variable name="handler" type="ClickHandler"/>
        <variable name="active" type="boolean"/>
    </data>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:onClick="@{!active ? handler.onItemClick : null}"
        android:background="@color/backgroundWhite"/>
    </RelativeLayout>
</layout>

Observe o: da declaração condicional

Mensagem bastante direta, até eu mudar o '.' para '::'.

android:onClick="@{!active ? handler::onItemClick : null}"

Como o onItemClick está dentro de uma instrução condicional, parece interpretar o primeiro dos dois :: 's como a instrução' else 'da condição. No segundo ':', recebo o erro:

<expr> expected, got ':'

EDIT: Como o @CommonsWare sugeriu nos comentários, invertendo a declaração para"@{active ? null : handler::onItemClick}" também não ajuda, um erro semelhante é mostrado (ver comentários)

EDIT2: Aparentemente, ao remover a instrução condicional, ficar com"@{handler::onItemClick}", ainda dá um erro:'!=', '%', '*', '+', ',', '-', '.', '/', <, <<, <=, '==', '>', '>=', '>>', '>>>' or '[' expected, got ':' Usando a notação de ponto, ainda dá um aviso ao compilar

Existe alguma maneira de escapar desses :: 's, para que sejam interpretados corretamente?

questionAnswers(4)

yourAnswerToTheQuestion