Android数据绑定将参数传递给onClick方法

是否可以onClick使用数据绑定库将自定义参数传递给方法?我有需要使用onClickListener的布局xml文件:

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

<layout ...>

<data>

<variable

name="viewModel"

type="com.productivity.tiktak.ui.tracker.viewModel.CategoryViewModel"/>

<variable

name="callback"

type="com.productivity.tiktak.ui.tracker.TrackerAdapter"/>

</data>

<android.support.v7.widget.CardView

android:onClick="@{callback.onCategoryClick(viewModel)}"

...

android:layout_width="match_parent"

android:layout_height="wrap_content">

<!-- ... Some stuff -->

</android.support.v7.widget.CardView>

</layout>

我在这里有我的点击处理程序代码:

public void onCategoryClick(View view, CategoryViewModel categoryViewModel)

{

//handler code...

}

回答:

您可以使用lambda表达式并将视图作为参数传递。

 android:onClick="@{() -> callback.onCategoryClick(viewModel)}"

如果需要视图,也可以通过以下方法传递它:

 android:onClick="@{(view) -> callback.onCategoryClick(view, viewModel)}"

以上是 Android数据绑定将参数传递给onClick方法 的全部内容, 来源链接: utcz.com/qa/424461.html

回到顶部