name、description、start time、end timeEvent
などのさまざまな変数を持つクラスがあり、変数 date とこれらの変数を持つクラスがあります。今、私は の ArrayList を持ちたいのですが、すべてに同じ日にあるものを含める必要があります。デフォルトでは、イベントのリストを取得し、このリストに基づいて日を作成する必要があります。すべての時間はint形式です。Day
ArrayList
Events
Days
Day
Events
unix timestamp
私が求めているものを明確にする例:
Day 25.11
Event1
Event2
Event3
Day 26.11
Event1
Day 27.11
Event1
Event2
Event3
Event4
作業結果なしで試したコードがあります:
private void getObjects(String url) throws JSONException, Exception {
JSONObject jsonObject = new JSONObject(new NetTask().execute(url).get());
JSONArray job1 = jsonObject.getJSONArray("events");
ArrayList<Event> events = new ArrayList<Event>();
Calendar calPrev = Calendar.getInstance();
boolean first = true;
for (int i = 0; i < job1.length(); i++) {
JSONObject myEventArray = job1.getJSONObject(i);
int start = myEventArray.getInt("start");
int end = myEventArray.getInt("end");
String name = myEventArray.getString("name");
String description = myEventArray.getString("description");
if(first){
calPrev.setTimeInMillis(start*1000L);
events.add(new Event(start,end,name,description));
first = false;
}else{
Calendar calCur = Calendar.getInstance();
calCur.setTimeInMillis(start*1000L);
if(calPrev.get(Calendar.YEAR) == calCur.get(Calendar.YEAR) && calPrev.get(Calendar.DAY_OF_YEAR) == calCur.get(Calendar.DAY_OF_YEAR)){
events.add(new Event(start,end,name,description));
}else{
days.add(new Day(323,events)); // HERE I CREATE NEW DAY AND ADD IT TO ARRAY
events.clear();
events.add(new Event(start,end,name,description));
}
}
}
}