android - 在 android 布局中使用 kotlin 的 Unit(或任何其他对象)类型

标签 android kotlin rx-java2 android-databinding

研究 Kotlin 的 Unit 类型,这是一个 object基本上代表Java的void .

在某些情况下,我想使用 PublishSubject<Unit>onClick数据绑定(bind)基本上只是发出点击信号。 android xml 如下所示:

<android.support.v7.widget.AppCompatButton
    android:layout_width="148dp"
    android:layout_height="60dp"
    android:onClick="@{() -> viewModel.navigateSubject.onNext(Unit)}" />

layout内我正在介绍类型:

<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="viewModel"
            type="com.example.TestViewModel"/>        
        <import type="kotlin.Unit"/>
    </data>
    [...]

但是用这种方式调用对象类型当然是不可能的,有没有人找到使用Unit的方法?输入 android xml?

最佳答案

您应该能够像在 Java 代码中一样使用 Unit.INSTANCE

关于android - 在 android 布局中使用 kotlin 的 Unit(或任何其他对象)类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45997922/

相关文章:

java - RxJava 2 : How to filter items of infinite stream that emits "List<Item>"?

java - 在 Java 中使用 RxJava2 编写后续 API 请求

java - 在 Android 上打开/关闭相机手电筒

Android下拉颜色选择器

进程被杀死时的 Android Activity 堆栈依赖性

kotlin - 在 Kotlin JS 中创建外部接口(interface)实例的惯用方法是什么

android - 即使我禁用了持久性,Firestore 仍在从缓存中检索文档

android - kotlin 中的三元运算符

android - 带有 AndroidSDK API 19 及更低版本的 Xamarin.Android 的放大 float 操作按钮的阴影填充错误

rx-java - RxJava2 订阅在一段时间后停止观察,但在 flowable 完成时继续