json проанализировал просмотр списка с другим типом элемента

введите описание изображения здесьЯ разобрал JSON API и положить его в ListView, У меня есть другой тип элемента, как видео, аудио, изображения и текст. Значит в один ряд, может у меня будет звук с кнопкой воспроизведения и другими опциями. Я знаю, что я должен использовать GetViewTypeCount() и getViewItemType ().

JSON это так

{
category: {
id: 2,
image: "/ringtone/media/cats/music.png",
title: "VARIOUS"
},
create_time: "2014-01-05T23:21:10",
file_url: "/media/sound/verysadrin_OnlRtRGn.mp3",
id: 28,
title: "Sad",
user: {
avatar: "/media/daddy_avatar/100/346186098ce0fc27be1ddbd95dcac2cf_100.jpg",
id: 12,
name: "MAY3AM"
}
},
{
category: {
id: 22,
image: "/ringtone/media/cats/video.png",
title: "VARIOUS_VIDEO"
},
create_time: "2014-02-05T23:21:10",
file_url: "/media/video/verysadrin_OnlR105n.mp4",
id: 28,
title: "Sad",
user: {
avatar: "/media/daddy_avatar/100/346186098ce0fc27be1ddbd95dcac2cf_100.jpg",
id: 12,
name: "MAY3AM"
}
},
{
category: {
id: 22,
image: "/ringtone/media/cats/video.png",
title: "NATURE"
},
create_time: "2014-03-05T23:21:10",
file_url: "/media/video/landscape.jpg",
id: 28,
title: "Landscape",
user: {
avatar: "/media/daddy_avatar/100/346186098ce0fc27be1ddbd95dcac2cf_100.jpg",
id: 12,
name: "MAY3AM"
}
},

Как вы видите, у меня есть более одного типа (звук, видео и изображения и текст). Я хочу проанализировать их в виде списка с помощью CustomAdapter! Я хочу накачать каждую строку в правильный файл XML на основе типа объекта JSON. означает, что если мой JSON-объект был надутым R.layout.sound.xml, если было видео раздувать R.layout.Video.xml а также....

Но я не могу понять эту часть, как сказать моей CustomAdapte, чтобы определить, когда показывать конкретный вид?! Вы знаете, что я искал в стеке, некоторые ответы говорят что-то вроде contact list что вы хотите показать в нечетном и четном ряду, или как представление списка с separator что поставить разделитель для каждого 4 или 5 ряд...

Но я не хочу что-то подобное, потому что я проанализировал json, и база данных должна показывать правильный тип строки.

Как я должен сказать пользовательскому адаптеру, что эта строка должна надуваться для звукового файла XML или видео XML-файла или других типов?!

Может кто-нибудь объяснить это для некоторого кода для меня?

1 ответ

Вы должны определить пользовательский адаптер для вашего списка, где вы можете раздувать различные виды внутри getView() метод.

Псевдокод может быть:

getView() {
  if(video item) 
    inflate video item row xml layout
  else if(image item)
    inflate image item row xml layout
  else if(audio item)
    inflate audio item row xml layout
  else if(text item)
    inflate text item row xml layout
}
Другие вопросы по тегам