ListView에 대한 ArrayAdapter 내에서 사용하는 ArrayList가 있습니다. 목록의 항목을 가져 와서 JSONArray로 변환하여 API로 보내야합니다. 나는 주변을 수색했지만 이것이 어떻게 작동하는지 설명하는 것을 찾지 못했습니다. 어떤 도움을 주시면 감사하겠습니다.
업데이트-솔루션
이 문제를 해결하기 위해 내가 한 일은 다음과 같습니다.
ArrayList의 개체 :
public class ListItem {
private long _masterId;
private String _name;
private long _category;
public ListItem(long masterId, String name, long category) {
_masterId = masterId;
_name = name;
_category = category;
}
public JSONObject getJSONObject() {
JSONObject obj = new JSONObject();
try {
obj.put("Id", _masterId);
obj.put("Name", _name);
obj.put("Category", _category);
} catch (JSONException e) {
trace("DefaultListItem.toString JSONException: "+e.getMessage());
}
return obj;
}
}
변환 방법은 다음과 같습니다.
ArrayList<ListItem> myCustomList = .... // list filled with objects
JSONArray jsonArray = new JSONArray();
for (int i=0; i < myCustomList.size(); i++) {
jsonArray.put(myCustomList.get(i).getJSONObject());
}
그리고 출력 :
[{"Name":"Name 1","Id":0,"Category":"category 1"},{"Name":"Name 2","Id":1,"Category":"category 2"},{"Name":"Name 3","Id":2,"Category":"category 3"}]
이것이 언젠가 누군가에게 도움이되기를 바랍니다!