现在谷歌正式支持Kotlin作为android中的主要(或即将成为)语言,我试图翻译我的一个项目。即使Android Studio内置了" Translator"工作得很好,显然无法为ItemClickListener
RecyclerView
作为一个例子,这就是我所拥有的:
在java中,我使用this class在GitHub上找到它来实现它。
这是我的Java代码:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener(new ItemClickSupport.OnItemClickListener() {
@Override
public void onItemClicked(RecyclerView recyclerView, int position, View v) {
...
});
如何在Kotlin中为RecyclerView设置ItemClickListener?
答案 0 :(得分:3)
您实际上只需将Java代码粘贴到Kotlin文件中,您就可以使用内置转换器获得使用相同功能的Kotlin代码。
(您也可以使用 Ctrl + Alt + Shift + K 在Windows上, ^⌥⇧K在Mac上,或从菜单中通过代码 - >将Java文件转换为Kotlin文件。)
它给你的是以下内容:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener { recyclerView, position, v ->
// ...
}
这使用了SAM conversion,相当于这种更长,更像Java的调用函数的形式:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener(
object : ItemClickSupport.OnItemClickListener {
override fun onItemClicked(recyclerView: RecyclerView?, position: Int, v: View?) {
// ...
}
}
)
答案 1 :(得分:0)