X-Git-Url: http://git.ieval.ro/?p=unical.git;a=blobdiff_plain;f=src%2Fro%2Fieval%2Funical%2FEventListActivity.java;h=642b77f2115d05cc0b25b45b0964d79bb3ba7f9e;hp=27eaef5dc26317c53474d25580a55f4a13bd0f8e;hb=6f8cabdd198b7e9c9f65d5ec83fc5fd55e774c0d;hpb=55084aed556d98d5ee93d9f4bfe319241ef688a3 diff --git a/src/ro/ieval/unical/EventListActivity.java b/src/ro/ieval/unical/EventListActivity.java index 27eaef5..642b77f 100644 --- a/src/ro/ieval/unical/EventListActivity.java +++ b/src/ro/ieval/unical/EventListActivity.java @@ -1,49 +1,25 @@ package ro.ieval.unical; -import java.util.Arrays; -import java.util.Comparator; -import java.util.Date; -import android.app.Activity; +import android.app.ListActivity; +import android.content.Context; import android.content.Intent; import android.os.Bundle; +import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; -import android.widget.AdapterView; +import android.view.ViewGroup; import android.widget.AdapterView.OnItemClickListener; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; import android.widget.ListView; +import android.widget.TextView; +import java.util.Arrays; +import java.util.Comparator; +import java.util.Date; - -public class EventListActivity extends Activity { - - //Used to refresh events if the user wants to display only certain events - //Sry for bad english - //Muie la comisie - private void displayEvents() { - final Event events[]=Event.getAllEvents(getBaseContext()); - final ListView lv = (ListView) findViewById(R.id.eventlist); - - Arrays.sort(events,new EventComparator()); - int idx=-1;//index of the first event to be displayed - for(int i=0; inew Date().getTime()) idx=i; - if(idx==-1) idx=0; - - final EventAdapter adapter = new EventAdapter(this, events); - lv.setAdapter(adapter); - lv.setSelectionFromTop(idx, 0); - lv.setOnItemClickListener(new OnItemClickListener() { - - @Override - public void onItemClick(final AdapterView arg0, final View arg1, final int arg2, - final long arg3) { - DisplayEventActivity.displayEvent(EventListActivity.this,events[arg2]); - } - - }); - } - +public final class EventListActivity extends ListActivity { private static class EventComparator implements Comparator { @Override public int compare(final Event lhs, final Event rhs) { @@ -56,11 +32,51 @@ public class EventListActivity extends Activity { } + private class EventAdapter extends ArrayAdapter { + public EventAdapter() {//NOPMD + super(EventListActivity.this, R.layout.event_row_layout); + } + + @Override + public View getView(final int position, final View convertView, final ViewGroup parent) { + final LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); + final View rowView = inflater.inflate(R.layout.event_row_layout, parent, false); + final TextView title = (TextView) rowView.findViewById(R.id.smalleventtitle); + final TextView dstart = (TextView) rowView.findViewById(R.id.smalldatestart); + final TextView dend = (TextView) rowView.findViewById(R.id.smalldateend); + final View header = rowView.findViewById(R.id.rowHeader); + header.setBackgroundColor(events[position].eventColour); + title.setText(events[position].title); + dstart.setText(new Date(events[position].dtstart).toString()); + dend.setText(new Date(events[position].dtend).toString()); + + return rowView; + } + } + + private Event[] events; + + @Override + public void onListItemClick(final ListView view, final View v, final int pos, final long id) { + DisplayEventActivity.displayEvent(this, events[pos]); + } + + private void displayEvents() { + events = Event.getAllEvents(this); + + Arrays.sort(events, new EventComparator()); + int idx=-1;//index of the first event to be displayed + for(int i=0; inew Date().getTime()) idx=i; + if(idx==-1) idx=0; + + setListAdapter(new EventAdapter()); + getListView().setSelectionFromTop(idx, 0); + } + @Override protected void onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); - setContentView(R.layout.event_list); - displayEvents(); } @@ -75,8 +91,7 @@ public class EventListActivity extends Activity { public boolean onOptionsItemSelected(final MenuItem item) { switch (item.getItemId()) { case R.id.add_event: - final Intent i=new Intent(this,AddEventActivity.class); - startActivity(i); + startActivity(new Intent(this,AddEventActivity.class)); return true; case R.id.refresh: displayEvents();