実現したいこと
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 コメント