RecyclerViewのViewHolderでビューバインド

実現したいこと

RecyclerViewのViewHolderで対応するXMLのビューをビューバインドで取得するにはどのようにすればよいでしょうか?

試したこと

ViewHolderで取得したいビューのXMLは、one_layout.xmlとして作成しました。
その中にTextViewを配置しています。
findViewByIdを使う方法であれば実装できました。

Koitlin

1import android.view.View 2import android.widget.TextView 3import androidx.recyclerview.widget.RecyclerView 4 5class ViewHolderItem (itemView: View): RecyclerView.ViewHolder(itemView){ 6 val itemName:TextView = itemView.findViewById(R.id.myTextView) 7}

ただし、findViewByIdは非推奨らしいので、後継のビューバインドを使って実装したいです。
試しに、以下のように記述してみたところ、

Koitlin

1import android.view.View 2import android.widget.TextView 3import androidx.recyclerview.widget.RecyclerView 4import com.xxxx.xxxx.databinding.OneLayoutBinding 5 6class ViewHolderItem (itemView: View): RecyclerView.ViewHolder(itemView){ 7 private lateinit var binding: OneLayoutBinding 8 binding = OneLayoutBinding.inflate(layoutInflator) 9}

以下のようなエラーとなってしまいました。

Expecting member declaration

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

Android Studio Flamingo | 2022.2.1

コメントを投稿

0 コメント