我是Koltin的新手并且到目前为止真的非常喜欢它,但我遇到了麻烦。我确信我在这里遗漏了一些非常基本的东西,但是,我很遗憾,我很感激任何帮助。
我使用Android Studio / IntelliJ命令将一个简单的java类转换为Kotlin。转换后,我收到检查警告,我不确定如何解决。在本课程之前,我已经将15-20个课程(其中许多课程复杂得多)转换为Kotlin,并且还没有看到这个警告。
同样,我知道这必须是非常基本的东西。但是我通过关于变量和类的Kotlin文档,并且找不到与“赋值”或一次初始化多个变量相关的任何内容。也许我不理解信息中的条款?我也用Google搜索确切的消息字符串("Can be joined with assignment"
)无效。
ImagePagerAdapter.kt
abstract class ImagePagerAdapter(protected var context: Context) : PagerAdapter() {
protected var inflater: LayoutInflater
protected var images: List<Uri>
interface ImageLoadingListener {
fun onLoadingComplete()
fun onLoadingStarted()
}
init {
this.inflater = LayoutInflater.from(context)
this.images = emptyList()
}
override fun getCount(): Int {
return images.size
}
override fun isViewFromObject(view: View, `object`: Any): Boolean {
return view === `object`
}
override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
container.removeView(`object` as View)
}
fun bindImages(images: List<Uri>) {
this.images = images
}
}
非常感谢提前!
答案 0 :(得分:32)
它告诉您,您可以在类中声明它们的位置初始化变量而不是单独的init
块,如下所示:
protected var inflater: LayoutInflater = LayoutInflater.from(context)
protected var images: List<Uri> = emptyList()
你应该在警告的地方获得Alt+Enter
意图行动,为你做这个重写,如下:
此外,在这种形式下,你可以像这样清理类型:
protected var inflater = LayoutInflater.from(context)
protected var images = emptyList<Uri>()