Отобразить объект другого типа в recyclerview - PullRequest
0 голосов
/ 08 мая 2020

У меня есть это json, полученное в результате поиска, как отобразить его в recyclerview? Я хочу отображать внешний вид, элемент одежды, события, теги. Поиск может вернуть любое количество этих предметов, я хочу их отобразить. Следует ли преобразовать каждый из этих элементов в общий класс? Или как создать отдельный адаптер для каждого из этих объектов? Я запуталась.

{
results: {
clothing_items: [
{
id: 422,
created_at: "2020-01-20 11:23:10 -0500",
image: "",
last_event_date: null,
name: "desk",
thumbnail: "",
type_of: "accessories"
 }
],
events: [
{
  id: 157,
 date: "2020-01-14 09:53:00 -0500",
 image: null,
 name: ""
}
],
looks: [

],
tags: [
 {
id: 97,
created_at: "2020-01-20 10:46:12 -0500",
title: "greatest person"
 }
]
}
}

1 Ответ

0 голосов
/ 08 мая 2020

1 - чтобы сделать ваш код читаемым и типизированным, а мой масштаб можно было масштабировать в любое время, вы должны сделать каждый из них в рабочем классе, а использование gson в модификации поможет вам сопоставить json с классом без какого-либо дополнительного кода

2 - некоторая библиотека, такая как volley, поможет вам декодировать объект json, поэтому, если вы хотите получить головную боль, вы можете использовать его

3 - вам понадобится 3 viewHolde или сделать его общим c ViewHolder и в привязка приводит их в соответствии с флагом, который вы передаете ограничителю, или используйте ключевое слово instanceof в java

4 - если они не используют один и тот же дизайн, вам нужно будет использовать другой макет дизайна, и инфляция для просмотра изменится в соответствии с пометить путь к ограничителю адаптера

5 - вы можете поместить все атрибуты в один класс, но не предпочитать, это приведет к потере типа Safe

...