如何订购Firebase数据?

时间:2016-03-26 17:27:39

标签: android listview firebase

我有一个firebase数据库。在此数据库中,将插入事件详细信息。 其中一个细节是活动日期。

我将数据库导出到我的活动中的ListView。但是我希望按照第一个事件在日期方面最接近的事件的日期来订购事件列表。

日期示例(字符串):" 26.07.2016"

(日/月/年)。

这是我目前的代码:

 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();
        }
    });

}

0 个答案:

没有答案