адаптер пришлось немного переделать в юзервьюхолдере и онбиндингвьюхолдере из-за того что котлин экстеншенс деприкейтед. Жаль что такой классный автор не выпускает больше видео. Надеюсь все норм
исправил: class UserAdapter : RecyclerView.Adapter() { private var userList= emptyList() class ViewHolder(view: View): RecyclerView.ViewHolder(view){ val text1: TextView val text2: TextView init { text1=view.findViewById(R.id.tv_last_name) text2=view.findViewById(R.id.tv_first_name) } } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { val view = LayoutInflater.from(parent.context) .inflate(R.layout.item_user_layout, parent, false) return ViewHolder(view) } override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) { viewHolder.text1.text = userList[position].lastName viewHolder.text2.text= userList[position].firstName override fun getItemCount() =userList.size fun setList(list: List){ userList = list notifyDataSetChanged() } } если новая версия АС то в gradle надо добавить buildFeatures { viewBinding true } а остальное оставить по дефолту
В Adapter не нужно передавать контекст... Можно было написать: Toast.makeText(holder.itemView.context, "$position", Toast.LENGTH_LONG).show(). Спасибо. Снимайте новые ролики
Как у тебя все просто выходит. Спасибо за такую реализацию.
Сам в шоке 🙀
У тебя талант объяснять. Повезло, что нашел твой канал. Надеюсь продолжишь его развивать.
Класс! Ждем Ретрофит))
адаптер пришлось немного переделать в юзервьюхолдере и онбиндингвьюхолдере из-за того что котлин экстеншенс деприкейтед. Жаль что такой классный автор не выпускает больше видео. Надеюсь все норм
Встал вопрос с сохранением активности в recycler view, а то не получается сохранить данные при повороте или сворачивании экрана.
Можно не много пояснить зачем мы в функции setList еще раз переиспользуем userList(может не совсем правильно выразился)
исправил: class UserAdapter : RecyclerView.Adapter() {
private var userList= emptyList()
class ViewHolder(view: View): RecyclerView.ViewHolder(view){
val text1: TextView
val text2: TextView
init {
text1=view.findViewById(R.id.tv_last_name)
text2=view.findViewById(R.id.tv_first_name)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.item_user_layout, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
viewHolder.text1.text = userList[position].lastName
viewHolder.text2.text= userList[position].firstName
override fun getItemCount() =userList.size
fun setList(list: List){
userList = list
notifyDataSetChanged()
}
}
если новая версия АС то в gradle надо добавить buildFeatures {
viewBinding true
}
а остальное оставить по дефолту
В Adapter не нужно передавать контекст... Можно было написать: Toast.makeText(holder.itemView.context, "$position",
Toast.LENGTH_LONG).show(). Спасибо. Снимайте новые ролики