package de.itemis.itemisapp; import java.io.Serializable; import java.util.ArrayList; import java.util.List; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import de.itemis.base.AbstractRowAdapter; import de.itemis.base.GenericItemAdapter; import de.itemis.base.GenericListActivity; import de.itemis.base.DetailsActivity; import de.itemis.base.RowAdapter; import de.itemis.base.SimpleItemContentProvider; import de.itemis.base.LabeledIntent; import com.google.common.base.Splitter; import static de.itemis.base.StringUtils.*; public class EventList extends GenericListActivity<AllEvents> { AllEvents allEvents; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle("News"); allEvents = getItemFromProvider(); ArrayList<AbstractRowAdapter> rowAdapters = new ArrayList<AbstractRowAdapter>(); Iterable<Event> items1 = allEvents.getNews(); if (items1 != null) for (Event i : items1) rowAdapters.add(new Cell1(i)); Iterable<Event> items2 = allEvents.getActivity(); if (items2 != null) for (Event i : items2) rowAdapters.add(new Cell2(i)); Iterable<Event> items3 = allEvents.getWorkshop(); if (items3 != null) for (Event i : items3) rowAdapters.add(new Cell3(i)); setListAdapter(new GenericItemAdapter(this, rowAdapters)); finishCreation(); } private class Cell1 extends RowAdapter.Subtitle<Event> { public Cell1(Event item) { super(item); } @Override public void populateRowView() { Event n = getItem(); setText(n.getTitle()); setDetails(n.getDate()); } @Override public void handleClick() { Event n = getItem(); Intent intent = new Intent(EventList.this, EventDetails.class); Serializable contentProvider = new SimpleItemContentProvider<Object>( n); intent.putExtra("provider", contentProvider); startActivity(intent); } } private class Cell2 extends RowAdapter.Subtitle<Event> { public Cell2(Event item) { super(item); } @Override public void populateRowView() { Event a = getItem(); setText(a.getTitle()); setDetails(a.getDate()); } @Override public void handleClick() { Event a = getItem(); Intent intent = new Intent(EventList.this, EventDetails.class); Serializable contentProvider = new SimpleItemContentProvider<Object>( a); intent.putExtra("provider", contentProvider); startActivity(intent); } } private class Cell3 extends RowAdapter.Subtitle<Event> { public Cell3(Event item) { super(item); } @Override public void populateRowView() { Event w = getItem(); setText(w.getTitle()); setDetails(w.getDate()); } @Override public void handleClick() { Event w = getItem(); Intent intent = new Intent(EventList.this, EventDetails.class); Serializable contentProvider = new SimpleItemContentProvider<Object>( w); intent.putExtra("provider", contentProvider); startActivity(intent); } } }