Kotlin - 如何为RecyclerVIew

时间:2017-05-19 18:30:49

标签: android kotlin

现在谷歌正式支持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?

2 个答案:

答案 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)