2014-04-19 3 views
-4

enter image description here으로 listview를 구문 분석하여 JSON api를 구문 분석하여 ListView에 넣습니다. 비디오, 오디오, 이미지 및 텍스트와 같은 다른 유형 항목이 있습니다. 한 행에 있음을 의미하며 재생 버튼과 기타 옵션으로 소리가 들릴 수 있습니다. GetViewTypeCount()과 getViewItemType()을 사용해야한다고 알고 있습니다.json은 항목 유형이 다른

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에 의해 listview에서 그들을 파싱하고 싶습니다! 나는 json 객체 유형을 기반으로 적절한 xml 파일에 각 행을 팽창시키고 싶다. 내 json 개체가 R.layout.Video.xmlR.layout.Video.xml 및 ...

으로 팽창했다면 내 json 개체가 소리가 부풀어 오르는 것을 의미합니다. 그러나이 부분을 알아낼 수 없습니까, 어떻게 내 CustomAdapte에서 특정보기를 표시 할 것인지 결정할 수 있습니까? ! 당신은 내가 스택에서 검색 무엇을 알고, 어떤 대답이 ... 당신이 각 4 ~ 5 행에 대한 구분을 넣어 separator와 목록보기와 같은, 이상한에 표시 심지어 행하고자 contact list 같은 말을

그러나 나는 그런 식으로하고 싶지 않습니다. 왜냐하면 저는 데이터를 json과 base로 파싱했기 때문에 그 데이터는 적절한 행 타입을 보여 주어야합니다.

이 행이 xml 파일이나 Video xml 파일 또는 다른 유형의 소리를 내기 위해 팽창해야한다는 것을 사용자 지정 어댑터에 어떻게 알려야합니까?!

누군가 나를 위해 몇 가지 코드를 설명 할 수 있습니까?

답변

0

사용자 정의 어댑터을 목록보기로 정의해야합니다. 여기에서 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 
} 
+0

그래, 나는이에 ... 알고 있지만, 어떻게 비디오, 이미지를 결정하고 이렇게! – MAY3AM

+0

if 문에서 비디오, 이미지, 오디오, 텍스트를 어떻게 정의해야합니까? – MAY3AM