Ранее у меня был очень нагруженный RecyclerView, и я предполагал, что он лагает именно из-за большого количества слушателей и функций. Но я
переписал его код на самый простой пример адаптера для того, чтобы проверить в чем дело, вот его код:
package com.example.myapplication1.db
import android.util.Log
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.example.myapplication1.Entities.ItemsList
import com.example.myapplication1.databinding.ListItemBinding
class RecyclerViewAdapter : RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>() {
var transactions: List<ItemsList> = emptyList()
set(newValue) {
field = newValue
notifyDataSetChanged()
}
class ViewHolder(val binding: ListItemBinding) : RecyclerView.ViewHolder(binding.root) {
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val inflater = LayoutInflater.from(parent.context)
val binding = ListItemBinding.inflate(inflater, parent, false)
return ViewHolder(binding)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val transaction = transactions[position]
with(holder.binding) {
tvPurchaseTitle.text = transaction.purchaseName
tvDescription.text = transaction.description
tvAmount.text = transaction.amount.toString()
tvCategoryTitle.text = transaction.categoryName
}
}
override fun getItemCount(): Int = transactions.size
}
Но это не помогло...
При открытии фрагмента - он все равно подлагивает, может решением будет создать некий загрузочный экран как во многих приложениях и по готовности RecyclerView - отобразить данные? Но я в интернете не нашел ни одного примера такого использования.
Логика открытия фрагмента такова:
Нажатие на кнопку открытия фрагмента в BottomNavigationView --> Открытие фрагмента, который сразу же инициализирует RecyclerViewAdapter с данными (
именно здесь происходит подлагивание, которое полностью "съедает" все анимации открытия вместе с впечатлением от приложения). Пожалуйста помогите, я никак не могу найти решение этого вопроса и искренне не понимаю, почему такая реализация лагает при открытии, хотя именно таким образом на сайтах и в документации описывается реализация RecyclerViewAdapter'а в приложении.