package com.ashokgelal.tagsnap.listeners; import android.view.View; import android.widget.AdapterView; import com.actionbarsherlock.view.ActionMode; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; import com.actionbarsherlock.view.MenuItem; import com.ashokgelal.tagsnap.LocationsFragment; import com.ashokgelal.tagsnap.R; public class LocationItemLongClickListener implements AdapterView.OnItemLongClickListener, ActionMode.Callback { private final LocationsFragment mHostFragment; private ActionMode mActionMode; public LocationItemLongClickListener(LocationsFragment hostFragment) { mHostFragment = hostFragment; } @Override public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long l) { mHostFragment.getListView().clearChoices(); mHostFragment.getListView().setItemChecked(position, true); if (mActionMode == null) mActionMode = mHostFragment.getSherlockActivity().startActionMode(this); return true; } @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { MenuInflater inflater = mHostFragment.getSherlockActivity().getSupportMenuInflater(); inflater.inflate(R.menu.location_selected, menu); return true; } @Override public boolean onPrepareActionMode(ActionMode mode, Menu menu) { return false; } @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { if (item.getItemId() == R.id.delete) { mHostFragment.handleDelete(); mActionMode.finish(); } return true; } @Override public void onDestroyActionMode(ActionMode mode) { mActionMode = null; mHostFragment.getListView().clearChoices(); mHostFragment.getListView().requestLayout(); } }