2016-11-07 1 views
0

사용자 지정 JSONArray에 대한 ArrayAdapter를 만들려고합니다. 사용할 수있는 자습서를 찾지 못했습니다. 응용 프로그램이 WordPress에서 데이터를 가져 오는 중입니다. 모든 게시물을 받고 클래스가 채워지지만 클래스를 목록에 표시하는 방법을 모르겠습니다. 이것은 private Posts[] mPosts;으로 선언됩니다. 따라서 포스트 배열은 Posts 객체의 배열로 파싱됩니다. 리스트를 내 activity_main에 선언했는데 다른 객체에 row.xml이 있습니다. 남은 것은 arrayadapter입니다. 나는 할 수 없습니다. MainActivity 및 XML 파일을 게시 할 수 있지만 게시물이 너무 길어집니다. JSONArray 자바 배열 ([] 표기)이 아니고 java.util.List 인터페이스를 구현하지 않는JSONArray 용 ArrayAdapter?

Posts.class는

public class Posts { 

private String mId; 
private String mDate; 
private String mTitle; 
private String mContent; 
private String mCategories; 


public String getId() { 
    return mId; 
} 

public void setId(String id) { 
    mId = id; 
} 

public String getDate() { 
    return mDate; 
} 

public void setDate(String date) { 
    mDate = date; 
} 

public String getTitle() { 
    return mTitle; 
} 

public void setTitle(String title) { 
    mTitle = title; 
} 

public String getContent() { 
    return mContent; 
} 

public void setContent(String content) { 
    mContent = content; 
} 

public String getCategories() { 
    return mCategories; 
} 

public void setCategories(String categories) { 
    mCategories = categories; 
} 
+0

[this] (https://gist.github.com/pskink/2dd4d17a93caf02ff696533e82f952b0) 일반 어댑터 ​​ – pskink

+0

어댑터 클래스를 만들고 ArrayAdapter <>로 확장하면됩니다. 그리고 GetView() 메서드를 오버라이드합니다. –

답변

0

ArrayAdapterJSONArray 적응할 수 없습니다.

a subclass of BaseAdapter that handles JSONArray을 만들 수 있습니다.

+0

나는 그 질문을 보았고 그것을 모방하려했지만, 내 Array가 사용자 정의 JSONObjects로 가득 차 있기 때문에 JSONObject.getString이 아니기 때문에 Posts.class의 매개 변수를 가져올 수 없습니다.), 나는 Posts.getTitle()을 할 필요가있다; 게시물을 Adapter 클래스로 옮길 수 없었습니다. – lakimens

+0

@lakimens :'JSONArray'를'ArrayList '로 변환하고'ArrayAdapter'를 사용하거나'Posts'를 삭제하고 커스텀'BaseAdapter'와 함께 직접'JSONArray'를 사용하십시오. 더 좋은 방법은 더 나은 JSON 파서 (예 : Gson)를 사용하는 것이므로 처음에는 'JSONArray'가 없습니다. – CommonsWare

+0

JSONArray가 없습니다. JSONObjects (Posts.class)의 배열이 있습니다. JSONArray가 아닌 Java Array (mPosts [])입니다. 아직 어댑터를 만들지 않았습니다. – lakimens