繁体   English   中英

Kotlin Android Studio / IntelliJ“可以与任务一起加入”检查警告

[英]Kotlin Android Studio/IntelliJ “Can be joined with assignment” Inspection Warning

我是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
    }
}

提前谢谢了!

它告诉你,你可以在你在类中声明它们的地方初始化变量而不是单独的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>()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM