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