Kotlin Android Studio/IntelliJ「代入と結合できます」検査警告質問する

Kotlin Android Studio/IntelliJ「代入と結合できます」検査警告質問する

私は Koltin を初めて使用していますが、今のところとても気に入っています。しかし、行き詰まってしまいました。ここでは非常に基本的なことを見落としていると思いますが、それでも私は困っています。どんな助けでもいただければ幸いです。

Android Studio/IntelliJ コマンドを使用して、単純な Java クラスを Kotlin に変換しました。この変換後、解決方法がわからない検査警告が表示されます。このクラスの前に 15 ~ 20 個のクラス (その多くははるかに複雑でした) を Kotlin に変換しましたが、この警告はまだ表示されていません。

ここに画像の説明を入力してください

繰り返しますが、これは本当に基本的なことだとわかっています。しかし、変数とクラスに関する Kotlin ドキュメントを徹底的に調べましたが、「割り当て」や複数の変数を一度に初期化することに関連するものは何も見つかりませんでした。メッセージ内の用語を理解していないのかもしれません。正確なメッセージ文字列 ( "Can be joined with assignment") も Google で検索しましたが、役に立ちませんでした。

画像ページアダプタ.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
    }
}

よろしくお願いします!

ベストアンサー1

これは、別のブロックを使用する代わりに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>()

おすすめ記事