package de.itemis.base; import java.io.Serializable; import java.util.List; import android.app.ListActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; public class GenericListActivity<T> extends ListActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @SuppressWarnings("unchecked") protected List<T> getItemsFromProvider() { Serializable serializable = getIntent().getSerializableExtra("provider"); ListContentProvider<T> provider = (ListContentProvider<T>) serializable; return provider.getAllItems(); } @SuppressWarnings("unchecked") protected T getItemFromProvider() { Serializable serializable = getIntent().getSerializableExtra("provider"); Serializable serializableExtra = serializable; ItemContentProvider<T> provider = (ItemContentProvider<T>) serializableExtra; return provider.getItem(); } protected void finishCreation() { getListView().setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Object item = getListView().getItemAtPosition(position); if (item instanceof AbstractRowAdapter) { AbstractRowAdapter adapter = (AbstractRowAdapter) item; adapter.handleClick(); } } }); } }