adds beautiful interface for adding events
[unical.git] / src / ro / ieval / unical / EventListActivity.java
1 package ro.ieval.unical;
2
3 import java.util.Arrays;
4 import java.util.Comparator;
5 import java.util.Date;
6
7 import android.app.Activity;
8 import android.content.Intent;
9 import android.os.Bundle;
10 import android.view.Menu;
11 import android.view.MenuInflater;
12 import android.view.MenuItem;
13 import android.view.View;
14 import android.widget.AdapterView;
15 import android.widget.AdapterView.OnItemClickListener;
16 import android.widget.ListView;
17
18
19 public class EventListActivity extends Activity {
20
21 //Used to refresh events if the user wants to display only certain events
22 //Sry for bad english
23 //Muie la comisie
24 private void displayEvents() {
25 final Event events[]=Event.getAllEvents(getBaseContext());
26 final ListView lv = (ListView) findViewById(R.id.eventlist);
27
28 Arrays.sort(events,new EventComparator());
29 int idx=-1;//index of the first event to be displayed
30 for(int i=0; i<events.length; ++i)
31 if(idx==-1 && events[i].dtend>new Date().getTime()) idx=i;
32 if(idx==-1) idx=0;
33
34 final EventAdapter adapter = new EventAdapter(this, events);
35 lv.setAdapter(adapter);
36 lv.setSelectionFromTop(idx, 0);
37 lv.setOnItemClickListener(new OnItemClickListener() {
38
39 @Override
40 public void onItemClick(final AdapterView<?> arg0, final View arg1, final int arg2,
41 final long arg3) {
42 DisplayEventActivity.displayEvent(EventListActivity.this,events[arg2]);
43 }
44
45 });
46 }
47
48 private static class EventComparator implements Comparator<Event> {
49 @Override
50 public int compare(final Event lhs, final Event rhs) {
51 if(lhs.dtstart < rhs.dtstart)
52 return -1;
53 if(lhs.dtstart == rhs.dtstart)
54 return 0;
55 return 1;
56 }
57
58 }
59
60 @Override
61 protected void onCreate(final Bundle savedInstanceState) {
62 super.onCreate(savedInstanceState);
63 setContentView(R.layout.event_list);
64
65 displayEvents();
66 }
67
68 @Override
69 public boolean onCreateOptionsMenu(final Menu menu) {
70 final MenuInflater inflater = getMenuInflater();
71 inflater.inflate(R.menu.main, menu);
72 return true;
73 }
74
75 @Override
76 public boolean onOptionsItemSelected(final MenuItem item) {
77 switch (item.getItemId()) {
78 case R.id.add_event:
79 final Intent i=new Intent(this,AddEventActivity.class);
80 startActivity(i);
81 return true;
82 default:
83 return false;
84 }
85 }
86
87 }
This page took 0.025522 seconds and 4 git commands to generate.