Enlace de datos de Android: "Referencias de métodos con '.' es obsoleto"

Cuando uso el enlace de datos en mi aplicación, recibo la siguiente advertencia al compilar:

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

Por favor vea mi XML a continuación.

<?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>

Tenga en cuenta el: de la declaración condicional

Mensaje bastante directo, hasta que cambie el '.' a '::'.

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

Dado que onItemClick está dentro de una declaración condicional, parece interpretar el primero de los dos :: 's como la declaración' else 'de la condición. En el segundo ':', aparece el error:

<expr> expected, got ':'

EDITAR: como @CommonsWare sugirió en los comentarios, invirtiendo la declaración para"@{active ? null : handler::onItemClick}" tampoco ayuda, se muestra un error similar (ver comentarios)

EDIT2: Aparentemente, al eliminar la declaración condicional, quedando con"@{handler::onItemClick}", todavía da un error:'!=', '%', '*', '+', ',', '-', '.', '/', <, <<, <=, '==', '>', '>=', '>>', '>>>' or '[' expected, got ':' Usando la notación de puntos, todavía da una advertencia al compilar

¿Hay alguna forma de escapar de estos :: 's, por lo que se interpreta correctamente?

Respuestas a la pregunta(4)

Su respuesta a la pregunta