I have a firebase database. In this database, event details are inserted. One of the details is the date of the event.
I'm exporting the database to a ListView in my activity. But I want to order the event list by the date of the events that the first event will be the nearest in terms of date.
Example of a date (String): "26.07.2016" .
(dd/mm/yyyy).
This is my current code:
private void populateEventList()
{
firebaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
ArrayList<String> titles = new ArrayList<String>();
ArrayList<String> subTitles = new ArrayList<String>();
ArrayList<EventClass> eventList = new ArrayList<EventClass>();
for (DataSnapshot user : snapshot.child("users").getChildren()) {
String event_title = user.child("event/event_title").getValue().toString();
titles.add(event_title);
String event_date = user.child("event/event_date").getValue().toString();
subTitles.add(event_date);
String event_content = user.child("event/event_content").getValue().toString();
String age_limit = user.child("event/age_limit").getValue().toString();
String event_hour = user.child("event/event_hour").getValue().toString();
String location_left = user.child("location_left").getValue().toString();
String location_right = user.child("location_right").getValue().toString();
EventClass oneEvent = new EventClass(event_title, event_date, event_content, age_limit, event_hour, location_left, location_right);
eventList.add(oneEvent);
}
ArrayAdapter adapter = new ArrayAdapter(Event_List_Activity.this, android.R.layout.simple_list_item_1, titles) {
@Override
public View getView(int position, View convertView,
ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView textView = (TextView) view.findViewById(android.R.id.text1);
textView.setTextColor(Color.WHITE);
return view;
}
};
ListView listView = (ListView) findViewById(R.id.listView1);
listView.setAdapter(adapter);
}
@Override
public void onCancelled(FirebaseError firebaseError) {
String message = "Error";
Toast.makeText(Event_List_Activity.this, message, Toast.LENGTH_SHORT).show();
}
});
}