java - Android MVVM RecyclerView ClickListener Kotlin 到 Java 转换

标签 java android kotlin mvvm android-recyclerview

我正在尝试在 Android RecyclerView 中实现一个 clickListener,其中包含 fragment 、数据绑定(bind)、ViewModel/LiveData,并且我的代码是根据 Udacity“使用 Kotlin 开发 Android 应用程序”类(class)中的实践构建的。然而,我的项目是用Java编写的,因为所有后端都已经写好了。我对 Kotlin 的了解不够,无法弄清楚如何在 Java 中实现以下内容!

class SleepNightListener(val clickListener: (sleepId: Long) -> Unit)
    fun onClick(night: SleepNight) = clickListener(night.nightId)
}

我在网上查看了其他人在 Java 中实现这种类型的结构,但总是以不同的方式完成,这会导致我的 ViewAdapter 的结构方式出现问题。

提前致谢。

最佳答案

因此,您在问题中发布的 Kotlin 代码 fragment 可以在 Java 中实现为:

interface ClickListener {
    void onCLick(Long sleepId);
}


class SleepNightListener {
    private ClickListener clickListener;

    public SleepNightListener(ClickListener clickListener) {
        this.clickListener = clickListener;
    }

    public void onClick(SleepNight night) {
        if (clickListener != null) clickListener.onCLick(night.getNightId());    
    }
}

关于java - Android MVVM RecyclerView ClickListener Kotlin 到 Java 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60111127/

相关文章:

使用 Kotlin/Firebase 的 Android Studio 代码完成 - 行为不端

android - 如何在 Kotlin 中扩展 ConstraintLayout

java - 是否有用于访问外部窗口的Java库?

javax.xml.bind.UnmarshalException : unexpected element (uri :"", 本地 :"id")。预期元素是(无)

android - 将两个 recyclerView 滚动为一个

android - 从应用商店下载应用后,使用链接登录时出错

java - 旋转 Y 在某些手机上不起作用

java - 在 Java 中,一秒钟需要多长时间?测量 Java 中的延迟时间

android - 如何使用 EditText 在一行中设置 Spinner

kotlin - 等于运算符不能在基本变量和装箱变量之间应用