我正在尝试在 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/