summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/fragment
diff options
context:
space:
mode:
authordaniel oeh <daniel.oeh@gmail.com>2013-01-21 23:08:39 +0100
committerdaniel oeh <daniel.oeh@gmail.com>2013-01-21 23:08:39 +0100
commit5221f5f5eca4176df26114b5da8ed59294b965fc (patch)
tree75f76e88485aa770584629db13a8ea34172e5fea /src/de/danoeh/antennapod/fragment
parent825ccd28c1572c2f49b1bd2c83c78cd76d0e6629 (diff)
downloadAntennaPod-5221f5f5eca4176df26114b5da8ed59294b965fc.zip
Added extended menu option, ignore long-press in itemlist
Diffstat (limited to 'src/de/danoeh/antennapod/fragment')
-rw-r--r--src/de/danoeh/antennapod/fragment/ItemlistFragment.java19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/de/danoeh/antennapod/fragment/ItemlistFragment.java b/src/de/danoeh/antennapod/fragment/ItemlistFragment.java
index 35710f40f..f04fc3824 100644
--- a/src/de/danoeh/antennapod/fragment/ItemlistFragment.java
+++ b/src/de/danoeh/antennapod/fragment/ItemlistFragment.java
@@ -59,6 +59,7 @@ public class ItemlistFragment extends SherlockListFragment {
protected static final int NO_SELECTION = -1;
protected int selectedPosition = NO_SELECTION;
+ protected boolean contextMenuClosed = true;
/** Argument for FeeditemlistAdapter */
protected boolean showFeedtitle;
@@ -194,6 +195,7 @@ public class ItemlistFragment extends SherlockListFragment {
if (AppConfig.DEBUG)
Log.d(TAG, "adapterCallback; position = " + position);
selectedPosition = position;
+ contextMenuClosed = true;
getListView().showContextMenu();
}
};
@@ -203,21 +205,17 @@ public class ItemlistFragment extends SherlockListFragment {
this.getListView().setItemsCanFocus(true);
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
registerForContextMenu(getListView());
- getListView().setOnItemLongClickListener(new OnItemLongClickListener() {
-
- @Override
- public boolean onItemLongClick(AdapterView<?> arg0, View arg1,
- int position, long id) {
- adapterCallback.onActionButtonPressed(position);
- return true;
- }
- });
+ getListView().setOnItemLongClickListener(null);
}
@Override
public void onCreateContextMenu(final ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
+ if (!contextMenuClosed) { // true if context menu was cancelled before
+ selectedPosition = NO_SELECTION;
+ }
+ contextMenuClosed = false;
getListView().setOnItemLongClickListener(null);
if (selectedPosition != NO_SELECTION) {
new MenuInflater(ItemlistFragment.this.getActivity()).inflate(
@@ -233,7 +231,7 @@ public class ItemlistFragment extends SherlockListFragment {
boolean visible) {
menu.findItem(id).setVisible(visible);
}
- }, selection);
+ }, selection, false);
}
}
}
@@ -261,6 +259,7 @@ public class ItemlistFragment extends SherlockListFragment {
}
}
selectedPosition = NO_SELECTION;
+ contextMenuClosed = true;
return handled;
}