Як краще реалізувати список з великою кількістю компонентів stack overflow російською
У мене в додатку на Activity інформація представлена в такий спосіб
Тема 1
текст а
текст б
текст в
Тема 2
текст г
текст д
Тема 3
і так далі
причому підзаголовки повинні бути приховані і при натисканні на заголовки повинні виїжджати.
Як мені краще це реалізувати? Я робив спочатку просто LinearLayout. в якому знаходилися TextView. і за допомогою setVisibility робив потрібні мені Layout видимими, але студія видала попередження:
activity_main.xml has more than 80 views, bad for performance
Я вирішив поекспериментувати і зробити це через RecyclerView. Створив клас:
Цей клас додавав в List і передавав в Adapter. Як параметр mark передавав текст із зазначенням заголовок 1 або заголовок 2 або Layout з текстом. llMain - це Layout. який я передаю і в якому знаходиться мій текст (в залежності від mark цей Layout різниться). Ось код адаптера:
Проблема в тому, що доводиться очищати CardView в ручну, так як інакше його стан і дочірні елементи запам'ятовуються і накладаються один на одного. А якщо, наприклад, видно текст під одним їх заголовків:
Тема 1
текст а
текст б
текст в
Тема 2
Тема 3
і я захочу цей текст приховати натиснувши на заголовок, а не на сам текст, то зможу отримати тільки CardView заголовка, а у тексту як отримати я не знаю.
Начебто всі свої методи розписав, питання в тому, як краще мені це реалізувати? якимось іншим способом або ж одним з вищеописаних, якщо мій метод з Recyclerview. то як мені вирішити проблему з очищенням CardView?
Ось, що у мене вийшло, коли я використовував LinearLayout і створював розмітку вручну


заданий 14 Березня о 18:14