如何在Android自定义数据绑定中传递带有参数的函数

扬·佛朗哥(Jan Franco)

我有一个标签布局。当用户单击选项卡时,我想在视图模型中调用“ onTabChanged”函数。到目前为止,我已经尝试过了:

@BindingAdapter("onTabChanged")
fun setOnTabChanged(tabLayout: TabLayout, onTabChanged: (TabLayout.Tab) -> Unit) {
    tabLayout.addOnTabSelectedListener(object: TabLayout.OnTabSelectedListener {
        override fun onTabSelected(tab: TabLayout.Tab?) {
            tab?.let {
                onTabChanged(it)
            }
        }
        override fun onTabUnselected(tab: TabLayout.Tab?) {}
        override fun onTabReselected(tab: TabLayout.Tab?) {}
    })
}

在layout.xml中:

<data>
    <variable
        name="viewModel"
        type="com.janfranco.ui.menu.MenuViewModel" />
</data>

...

app:onTabChanged="@{viewModel::onTabChanged}"

在视图模型中:

fun onTabChanged(tab: TabLayout.Tab) { }

在布局中,出现以下错误:侦听器类'kotlin.jvm.functions.Function1 <?超级com.google.android.material.tabs.TabLayout.Tab,kotlin.Unit>'与方法'invoke'不匹配任何方法'app:onTabChanged'的签名

我该如何解决?

i30mb1

在您的viewModel而不是这个:

fun onTabChanged(tab: TabLayout.Tab) { }

你应该有这个:

 val onTabChanged = { tab: TabLayout.Tab -> }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Android自定义数据绑定中传递带有参数的函数

来自分类Dev

如何在java中传递带有一些附加数据的自定义Throwable

来自分类Dev

从带有参数的自定义文件中调用函数

来自分类Dev

如何在Android中创建自定义数据绑定?(Android Studio)

来自分类Dev

使用Android数据绑定时,如何通过xml为自定义设置程序传递多个参数

来自分类Dev

如何在自定义UIView中从ViewController传递数据

来自分类Dev

使用带有参数的自定义绑定适配器侦听器方法的Android自定义视图

来自分类Dev

WooCommerce:如何在订单元数据对象中获取带有自定义 ID 的订单?

来自分类Dev

如何在python中传递带有参数的函数?

来自分类Dev

如何在Android中制作带有圆角的自定义对话框

来自分类Dev

如何在Octave中定义带有参数的函数?

来自分类Dev

C ++在线程中传递带有自定义对象的std :: function作为参数

来自分类Dev

带有参数的jQuery自定义函数

来自分类Dev

如何将函数作为参数传递给Javascript中的自定义函数

来自分类Dev

如何在PostgreSQL中将自定义类型的多维数组作为函数参数传递?

来自分类Dev

如何在TF 2中使用带有自定义函数的tf.data.Dataset.interleave()?

来自分类Dev

如何在SwiftUI中创建一个带有View并返回自定义结果的函数?

来自分类Dev

如何将参数输入传递给R中的自定义函数?

来自分类Dev

如何将参数输入传递给R中的自定义函数?

来自分类Dev

Swift-如何在函数的参数中传递带有参数的函数?

来自分类Dev

Swift-如何在函数的参数中传递带有参数的函数?

来自分类Dev

如何在自定义函数中添加函数作为参数 - swift?

来自分类Dev

如何在C ++中使用带有自定义排序成员函数的sort()?

来自分类Dev

如何在自定义JSP标记中传递整数值作为参数?

来自分类Dev

如何在Facebook Sharer链接中传递自定义参数

来自分类Dev

如何在 CRM Dynamics 中为自定义操作传递“目标”参数

来自分类Dev

如何使用PHP在Twilio中传递自定义参数?

来自分类Dev

C中带有指针的自定义concat函数

来自分类Dev

如何在scss的函数或mixin中传递自定义属性?

Related 相关文章

  1. 1

    如何在Android自定义数据绑定中传递带有参数的函数

  2. 2

    如何在java中传递带有一些附加数据的自定义Throwable

  3. 3

    从带有参数的自定义文件中调用函数

  4. 4

    如何在Android中创建自定义数据绑定?(Android Studio)

  5. 5

    使用Android数据绑定时,如何通过xml为自定义设置程序传递多个参数

  6. 6

    如何在自定义UIView中从ViewController传递数据

  7. 7

    使用带有参数的自定义绑定适配器侦听器方法的Android自定义视图

  8. 8

    WooCommerce:如何在订单元数据对象中获取带有自定义 ID 的订单?

  9. 9

    如何在python中传递带有参数的函数?

  10. 10

    如何在Android中制作带有圆角的自定义对话框

  11. 11

    如何在Octave中定义带有参数的函数?

  12. 12

    C ++在线程中传递带有自定义对象的std :: function作为参数

  13. 13

    带有参数的jQuery自定义函数

  14. 14

    如何将函数作为参数传递给Javascript中的自定义函数

  15. 15

    如何在PostgreSQL中将自定义类型的多维数组作为函数参数传递?

  16. 16

    如何在TF 2中使用带有自定义函数的tf.data.Dataset.interleave()?

  17. 17

    如何在SwiftUI中创建一个带有View并返回自定义结果的函数?

  18. 18

    如何将参数输入传递给R中的自定义函数?

  19. 19

    如何将参数输入传递给R中的自定义函数?

  20. 20

    Swift-如何在函数的参数中传递带有参数的函数?

  21. 21

    Swift-如何在函数的参数中传递带有参数的函数?

  22. 22

    如何在自定义函数中添加函数作为参数 - swift?

  23. 23

    如何在C ++中使用带有自定义排序成员函数的sort()?

  24. 24

    如何在自定义JSP标记中传递整数值作为参数?

  25. 25

    如何在Facebook Sharer链接中传递自定义参数

  26. 26

    如何在 CRM Dynamics 中为自定义操作传递“目标”参数

  27. 27

    如何使用PHP在Twilio中传递自定义参数?

  28. 28

    C中带有指针的自定义concat函数

  29. 29

    如何在scss的函数或mixin中传递自定义属性?

热门标签

归档