public class BarListFragment extends BaseListFragment implements LoaderManager.LoaderCallbacks, OnItemLongClickListener, OnItemClickListener { Set listeners = new HashSet(); private SimpleCursorAdapter adapter = null; int[] to = { R.id.bar_name_list, R.id.bar_address_list }; @Override public void onActivityCreated(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); adapter = new SimpleCursorAdapter(getActivity(), R.layout.bar_list, null, BarContentProvider.PROJECTION_MAP_NO_ID, to, 0); setListAdapter(adapter); getLoaderManager().initLoader(0, null, this); ListView lv = getListView(); lv.setOnItemLongClickListener(this); lv.setOnItemClickListener(this); } @Override public void onListItemClick(ListView l, View v, int position, long id) { // TODO Auto-generated method stub super.onListItemClick(l, v, position, id); for (OnBarSelectedListener listener : listeners) { listener.onBarSelected(position); } } public void attachListener(OnBarSelectedListener listener) { listeners.add(listener); } public interface OnBarSelectedListener { public void onBarSelected(Integer id); } public Loader onCreateLoader(int paramInt, Bundle paramBundle) { // TODO Auto-generated method stub return new CursorLoader(getActivity(), Bars.CONTENT_URI, BarContentProvider.PROJECTION_MAP, null, null, null); } public void onLoadFinished(Loader loader, Cursor cursor) { adapter.swapCursor(cursor); } public void onLoaderReset(Loader loader) { adapter.swapCursor(null); } public boolean onItemLongClick(AdapterView av, View v, int pos, long id) { final String title = (String) ((TextView) v.findViewById(R.id.bar_name_list)).getText(); // Set up clip data with the category||entry_id format. ClipData data = ClipData.newPlainText(title, "test"); v.startDrag(data, new DragShadowBuilder(v), null, 0); return true; } public void onItemClick(AdapterView paramAdapterView, View paramView, int paramInt, long paramLong) { // TODO Auto-generated method stub String test = "sdad"; } }