Как добавить разные элементы в RecyclerView

Мне надо передать 4 элемента в RecyclerView, но когда я запускаю приложение, оно выводит числа, я думаю, что у меня неправильно написал onBindViewHolder. Как должен выглядеть onBindViewHolder, чтобы при запуске приложения отображались фреймы из xml файлов Github

class UsersAdapter(val itemsId: ArrayList<String>) : RecyclerView.Adapter<UsersAdapter.ViewHolder>() {

    companion object {
        const val RECYCLER_USER_INFO = 1
        const val RECYCLER_PROJECT_INFO = 2
        const val RECYCLER_SKILLS_FILTER = 3
        const val RECYCLER_SKILLS = 4
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
        when (viewType) {
            RECYCLER_USER_INFO -> return ViewHolder(
                LayoutInflater.from(parent.context)
                    .inflate(R.layout.recycler_user_info, parent, false)
            )
            RECYCLER_PROJECT_INFO -> return ViewHolder(
                LayoutInflater.from(parent.context)
                    .inflate(R.layout.recycler_about_project, parent, false)
            )
            RECYCLER_SKILLS_FILTER -> return ViewHolder(
                LayoutInflater.from(parent.context)
                    .inflate(R.layout.recycler_skills_filter, parent, false)
            )
            RECYCLER_SKILLS -> return ViewHolder(
                LayoutInflater.from(parent.context).inflate(R.layout.recycler_skills, parent, false)
            )
            else -> return ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.user_row, parent, false))
        }
        // val view: View = LayoutInflater.from(parent.context).inflate(R.layout.user_row, parent, false)

        // return ViewHolder(view)
    }

    override fun onBindViewHolder(holder: ViewHolder, position: Int) {
        when (position) {
            RECYCLER_USER_INFO -> R.layout.recycler_user_info
            RECYCLER_PROJECT_INFO -> holder.firstname.text = 2.toString()
            RECYCLER_SKILLS_FILTER -> holder.firstname.text = 3.toString()
            RECYCLER_SKILLS -> holder.firstname.text = 4.toString()
        }
        // holder.firstname.text = itemsId[position]
    }

    override fun getItemCount() = 4

    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        val firstname: TextView = itemView.findViewById(R.id.firstName)
    }
}

Ответы (0 шт):