From 911c2edd10eb1ab89a86e4673aee03b20e89ba57 Mon Sep 17 00:00:00 2001 From: Robert Kolner Date: Wed, 28 Sep 2011 21:37:29 +0200 Subject: [PATCH] Categories are now fully working. --- src/com/studentersamfundet/app/DataHandler.java | 13 +++++++++++-- .../app/ui/ChooseCategoryDialog.java | 11 +++-------- .../app/ui/ProgramListActivity.java | 5 +++-- 3 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/com/studentersamfundet/app/DataHandler.java b/src/com/studentersamfundet/app/DataHandler.java index a20efe0..7d55a82 100644 --- a/src/com/studentersamfundet/app/DataHandler.java +++ b/src/com/studentersamfundet/app/DataHandler.java @@ -1,10 +1,14 @@ package com.studentersamfundet.app; import java.util.LinkedList; +import java.util.List; +import java.util.Set; +import java.util.TreeSet; public class DataHandler { - private LinkedList events = new LinkedList(); - + private List events = new LinkedList(); + private Set categories = new TreeSet(); + public void insert(String id, String title, String description, String date, String location, String text, String category) { int intId = Integer.parseInt(id); if (get(intId) != null) @@ -12,6 +16,7 @@ public class DataHandler { Event e = new Event(intId, title, description, date, location, text, category); events.add(e); + categories.add(category); } public Event get(int id) { @@ -35,4 +40,8 @@ public class DataHandler { } return sorted.toArray(new Event[sorted.size()]); } + + public String[] getCategories() { + return categories.toArray(new String[categories.size()]); + } } diff --git a/src/com/studentersamfundet/app/ui/ChooseCategoryDialog.java b/src/com/studentersamfundet/app/ui/ChooseCategoryDialog.java index 2a22a0e..fbfc7c1 100644 --- a/src/com/studentersamfundet/app/ui/ChooseCategoryDialog.java +++ b/src/com/studentersamfundet/app/ui/ChooseCategoryDialog.java @@ -28,7 +28,7 @@ public class ChooseCategoryDialog extends Dialog { } } - public ChooseCategoryDialog(Context context, Callback callback) { + public ChooseCategoryDialog(Context context, Callback callback, String[] categories) { super(context); if (callback == null) @@ -39,15 +39,10 @@ public class ChooseCategoryDialog extends Dialog { setContentView(R.layout.choose_category_dialog); setTitle("Choose category"); setOnDismissListener(new OnDismiss()); - populateList(context); + populateList(context, categories); } - private void populateList(Context context) { - final String[] categories = new String[] { - Event.ALL, - "film" - }; - + private void populateList(Context context, final String[] categories) { ListView list = (ListView)findViewById(R.id.choose_category_list); list.setAdapter(new ArrayAdapter(context, R.layout.choose_category_list_row, R.id.choose_category_list_row_text, categories)); list.setOnItemClickListener(new OnItemClickListener() { diff --git a/src/com/studentersamfundet/app/ui/ProgramListActivity.java b/src/com/studentersamfundet/app/ui/ProgramListActivity.java index fd58cdc..dd439bd 100644 --- a/src/com/studentersamfundet/app/ui/ProgramListActivity.java +++ b/src/com/studentersamfundet/app/ui/ProgramListActivity.java @@ -143,15 +143,16 @@ public class ProgramListActivity extends BaseDnsActivity { } protected void createCategoryDialog() { - Dialog dialog = new ChooseCategoryDialog(this, new Callback() { + Callback callback = new Callback() { public void run(String... message) { if (message.length < 1) message = new String[] { Event.ALL }; ProgramListActivity.this.createList(message[0], false); } - }); + }; + Dialog dialog = new ChooseCategoryDialog(this, callback, dataHandler.getCategories()); dialog.show(); } }