2323 */
2424package com.shopify.testify.sample.clients.index
2525
26-
2726import android.view.LayoutInflater
2827import android.view.View
2928import android.view.ViewGroup
@@ -34,48 +33,45 @@ import androidx.recyclerview.widget.RecyclerView
3433import com.shopify.testify.sample.R
3534import com.shopify.testify.sample.clients.MockClientData
3635import com.shopify.testify.sample.clients.index.ClientListFragment.OnListFragmentInteractionListener
37- import kotlinx.android.synthetic.main.client_list_item.view.description
38- import kotlinx.android.synthetic.main.client_list_item.view.name
39- import kotlinx.android.synthetic.main.client_list_item.view.profile_image
40-
36+ import com.shopify.testify.sample.databinding.ClientListItemBinding
4137
42- class ClientListRecyclerViewAdapter (private val values : List <MockClientData .Client >, private val listener : OnListFragmentInteractionListener ? ) : RecyclerView.Adapter<ClientListRecyclerViewAdapter.ViewHolder>() {
38+ class ClientListRecyclerViewAdapter (
39+ private val values : List <MockClientData .Client >,
40+ private val listener : OnListFragmentInteractionListener ?
41+ ) : RecyclerView.Adapter<ClientListRecyclerViewAdapter.ViewHolder>() {
4342
44- private val onClickListener: View .OnClickListener
45-
46- init {
47- onClickListener = View .OnClickListener { v ->
48- val item = v.tag as MockClientData .Client
49- listener?.onListFragmentInteraction(item)
50- }
43+ private val onClickListener: View .OnClickListener = View .OnClickListener { v ->
44+ val item = v.tag as MockClientData .Client
45+ listener?.onListFragmentInteraction(item)
5146 }
5247
5348 override fun onCreateViewHolder (parent : ViewGroup , viewType : Int ): ViewHolder {
54- val view = LayoutInflater .from(parent.context).inflate( R .layout.client_list_item , parent, false )
55- return ViewHolder (view )
49+ val binding = ClientListItemBinding .inflate( LayoutInflater .from(parent.context), parent, false )
50+ return ViewHolder (binding )
5651 }
5752
5853 override fun onBindViewHolder (holder : ViewHolder , position : Int ) {
5954 val item = values[position]
6055
61- val context = holder.view.context
62- @DrawableRes val avatarDrawableId = context.resources.getIdentifier(item.avatar, " drawable" , context.packageName)
56+ val context = holder.itemView.context
57+ @DrawableRes val avatarDrawableId =
58+ context.resources.getIdentifier(item.avatar, " drawable" , context.packageName)
6359
6460 holder.nameView.text = item.name
6561 holder.descriptionView.text = context.getString(R .string.client_since, item.date)
6662 holder.avatar.setImageResource(avatarDrawableId)
6763
68- with (holder.view ) {
64+ with (holder.itemView ) {
6965 tag = item
7066 setOnClickListener(onClickListener)
7167 }
7268 }
7369
7470 override fun getItemCount (): Int = values.size
7571
76- inner class ViewHolder (val view : View ) : RecyclerView.ViewHolder(view ) {
77- val nameView: TextView = view .name
78- val descriptionView: TextView = view .description
79- val avatar: ImageView = view.profile_image
72+ inner class ViewHolder (binding : ClientListItemBinding ) : RecyclerView.ViewHolder(binding.root ) {
73+ val nameView: TextView = binding .name
74+ val descriptionView: TextView = binding .description
75+ val avatar: ImageView = binding.profileImage
8076 }
8177}
0 commit comments