1. ホーム
  2. kotlin

[解決済み] アダプターまたはViewHolderでのKotlin合成

2023-04-09 16:02:47

質問

kotlin初心者です。私は迷惑なメソッドの代わりに合成メソッドを見つけると、それを使用しようとしました findViewById を使ってみました。 Activity クラスで、しかし、私は"我々はViewの合成プロパティ(アダプタクラスで便利)を呼びたい場合は、我々はまた、kotlinx.android.synthetic.main.view.*.をインポートすべきであることがわかりました;私はそれが正確に動作するかを把握することはできませんか?何か例があるのでしょうか?

どのように解決するのですか?

簡単な例 https://github.com/antoniolg/Kotlin-for-Android-Developers

import kotlinx.android.synthetic.item_forecast.view.*

class ForecastListAdapter() : RecyclerView.Adapter<ForecastListAdapter.ViewHolder>() {

    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {

        fun bindForecast(forecast: Forecast) {
            itemView.date.text = forecast.date.toDateString()
        }
    }
}

書く必要はありません

val view = itemView.findViewById(R.id.date) as TextView
view.text = forecast.date.toDateString()

ただ

itemView.date.text = forecast.date.toDateString()

シンプルで効果的!