Android 数据绑定将参数传递给 onClick 方法 [英] Android Data Binding pass arguments to onClick method
本文介绍了Android 数据绑定将参数传递给 onClick 方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
是否可以使用数据绑定库将自定义参数传递给 onClick
方法?我有我需要使用 onClickListener 的布局 xml 文件:
Is it possible to pass custom arguments to onClick
method using the Data Binding Library? I have my layout xml file where I need to use the onClickListener:
<?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>
我在这里有我的点击处理程序代码:
and I a have my click handler code here:
public void onCategoryClick(View view, CategoryViewModel categoryViewModel)
{
//handler code...
}
是否可以将我的 CategoryViewModel 对象从 xml 传递到点击处理程序?
推荐答案
您可以使用 lambda 表达式并将视图作为参数传入.
You can use a lambda expressions and pass the view in as a parameter.
android:onClick="@{() -> callback.onCategoryClick(viewModel)}"
如果你需要视图,你也可以通过:
If you need the view, you can pass that as well with:
android:onClick="@{(view) -> callback.onCategoryClick(view, viewModel)}"
这篇关于Android 数据绑定将参数传递给 onClick 方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文