Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>It happens because of this:</p> <pre><code>public boolean dispatchContextItemSelected(MenuItem item) { if (mActive != null) { for (int i=0; i&lt;mAdded.size(); i++) { Fragment f = mAdded.get(i); if (f != null &amp;&amp; !f.mHidden) { if (f.onContextItemSelected(item)) { return true; } } } } return false; } </code></pre> <p>As you can see, FragmentManager calls Fragment.onContextItemSelected for all of his own fragments until it returns true. In your example I can offer such fix:</p> <pre><code> public static class TestListFragment extends ListFragment { private int mNumber = 0; private ArrayList&lt;String&gt; mItems; public static TestListFragment newInstance(int number) { Bundle args = new Bundle(); args.putInt("number", number + 1); TestListFragment fragment = new TestListFragment(); fragment.setArguments(args); return fragment; } public TestListFragment() {} @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mNumber = getArguments().getInt("number"); mItems = new ArrayList&lt;String&gt;(); mItems.add("I am list #" + mNumber); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); setListAdapter(new ArrayAdapter&lt;String&gt;(getActivity(), android.R.layout.simple_list_item_1, mItems)); registerForContextMenu(getListView()); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(mNumber, 0, 0, "Hello, World!"); } @Override public boolean onContextItemSelected(MenuItem item) { if(item.getGroupId() == mNumber){ Log.d("ViewPagerContextMenuBug", "onContextItemSelected called for number " + mNumber); Toast.makeText(getActivity(), "onContextItemSelected called for number " + mNumber, Toast.LENGTH_SHORT).show(); return true; } return false; } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload