Android Kotlin-如何为RecyclerVIew实现ItemClickListener
现在谷歌正式支持Kotlin作为android的主要(或即将成为)语言,我正试图翻译我的一个项目。尽管Android Studio内置的“Translator”工作得很好,但它显然无法将Android Kotlin-如何为RecyclerVIew实现ItemClickListener,android,kotlin,Android,Kotlin,现在谷歌正式支持Kotlin作为android的主要(或即将成为)语言,我正试图翻译我的一个项目。尽管Android Studio内置的“Translator”工作得很好,但它显然无法将ItemClickListener转换为RecyclerView 作为一个例子,我有: 在java中,我使用在GitHub上找到的工具来实现它 这是我的Java代码: ItemClickSupport.addTo(recyclerView).setOnItemClickListener(new ItemClick
ItemClickListener
转换为RecyclerView
作为一个例子,我有:
在java中,我使用在GitHub上找到的工具来实现它
这是我的Java代码:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener(new ItemClickSupport.OnItemClickListener() {
@Override
public void onItemClicked(RecyclerView recyclerView, int position, View v) {
...
});
如何在Kotlin中为RecyclerView设置ItemClickListener?实际上,您只需将Java代码复制粘贴到Kotlin文件中,就可以使用内置转换器获得执行相同操作的Kotlin代码 (您也可以在Windows上使用Ctrl+Alt+Shift+K对整个Java文件调用此转换器^⌥⇧Mac上的K,或通过“代码->将Java文件转换为Kotlin文件”菜单。) 它为您提供了以下信息:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener { recyclerView, position, v ->
// ...
}
这利用了调用函数的更长、更像Java的形式,并与之等效:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener(
object : ItemClickSupport.OnItemClickListener {
override fun onItemClicked(recyclerView: RecyclerView?, position: Int, v: View?) {
// ...
}
}
)
实际上,您只需将该Java代码复制粘贴到Kotlin文件中,就可以使用内置转换器获得执行相同操作的Kotlin代码 (您也可以在Windows上使用Ctrl+Alt+Shift+K对整个Java文件调用此转换器^⌥⇧Mac上的K,或通过“代码->将Java文件转换为Kotlin文件”菜单。) 它为您提供了以下信息:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener { recyclerView, position, v ->
// ...
}
这利用了调用函数的更长、更像Java的形式,并与之等效:
ItemClickSupport.addTo(recyclerView).setOnItemClickListener(
object : ItemClickSupport.OnItemClickListener {
override fun onItemClicked(recyclerView: RecyclerView?, position: Int, v: View?) {
// ...
}
}
)
谢谢,我对科特林很陌生,正在努力学习。你的回答对我帮助很大。我不得不使用较长的形式,因为较短的形式表示它无法推断参数类型,即使我可以很容易地指定它们,您可以给lambda参数显式类型,如
v:View
等,如果有帮助的话。但无论如何,欢迎你,享受这门语言谢谢,我对科特林很陌生,正在努力学习。你的回答对我帮助很大。我不得不使用较长的形式,因为较短的形式表示它无法推断参数类型,即使我可以很容易地指定它们,您可以给lambda参数显式类型,如v:View
等,如果有帮助的话。但无论如何,欢迎你,享受这门语言