Dieser Code funktioniert gut:Android Daten für benutzerdefinierte Listener-Bibliothek Lambda-Bindung
Adapter Code:
@BindingAdapter({"app:onClick"})
public static void setOnClick(My view, View.OnClickListener onClickListener)
{
view.addOnClickListener(onClickListener);
}
XML-Code:
app:onClick="@{ (v) -> view.onClick(v) }"
Aber ich brauche Gewohnheit zu machen Hörer wie folgt:
Adapter Code:
@BindingAdapter({"app:onClose"})
public static void setOnClose(My view, My.OnCloseListener onCloseListener)
{
view.addOnCloseListener(onCloseListener);
}
XML-Code:
app:onClose="@{ (x, y) -> view.onClose(x, y) }"
Listener Code:
public interface OnCloseListener
{
void onClose(My x, int y);
}
In diesem Fall wird die Anwendung nicht kompiliert (nicht große Überraschung :(), ist es sogar möglich, Lambda mit benutzerdefinierten Listener zu verwenden?
Was sagt der Kompilierungsfehler? –