Получение большого числа исключений, которые я не могу воспроизвести следующим образом: -
Fatal Exception: java.lang.IllegalArgumentException: view is not a
child, cannot hide androidx.cardview.widget.CardView{5dd439c V.E...C..
......I. 20,-228-680,-78}
at androidx.recyclerview.widget.b.e(ChildHelper.java:352)
at androidx.recyclerview.widget.RecyclerView$p.b(RecyclerView.java:6393)
Нет ссылки из моего источника.Но, используя журнал Crashlytics, я думаю, что знаю приблизительную область проблемы.Ряд адаптеров утилизатора представляет собой очень простую компоновку с видом на карту в корне и относительной компоновкой как дочерняя.Что может быть причиной этого исключения?
Редактировать: Мой адаптер
internal class AnalyzerAdapter(private val fragment: AnalyzerFragment,
private val context: Context) : RecyclerView.Adapter<AnalyzerAdapter.Companion.ViewHolder>() {
private val entries = ArrayList<AnalyzerData>()
override fun onCreateViewHolder(viewGroup: ViewGroup, viewType: Int): ViewHolder {
val parent = LayoutInflater.from(context).inflate(R.layout.analyzer_row, viewGroup, false)
return ViewHolder(parent)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val entry = entries[position]
holder.tvSize.text = "title"
holder.tvDetails.text = "details"
val type = getItemViewType(position)
holder.itemView.setOnClickListener {
fragment.onListClick(type)
}
when (type) {
...
}
}
override fun getItemViewType(position: Int): Int {
return entries[position].dataType
}
override fun getItemCount(): Int {
return entries.size
}
fun addEntry(entry: AnalyzerData) {
entries.add(entry)
notifyItemInserted(entries.size - 1)
}
fun editEntry(entry: AnalyzerData, position: Int) {
entries[position] = entry
notifyItemChanged(position)
}
fun initEntries(list: List<AnalyzerData>) {
entries.clear()
entries.addAll(list)
notifyDataSetChanged()
}
companion object {
internal class ViewHolder(parent: View) : RecyclerView.ViewHolder(parent) {
var ivIcon: ImageView = parent.findViewById(R.id.analyzer_icon)
var tvTitle: TextView = parent.findViewById(R.id.analyzer_title)
var tvDetails: TextView = parent.findViewById(R.id.analyzer_details)
var tvSize: TextView = parent.findViewById(R.id.analyzer_size)
}
}
}