I have the same problem: a dialog with a list view on which I attach a context menu. When long-clicking the menu gets displayed, but clicking any option doesn't do anything - the onContextItemSelected method never gets executed.
Any ideas? Is this a bug? On Mar 13, 10:29 pm, "Tim H." <timho...@gmail.com> wrote: > Setting the activity content view directly to a ListView, the code > below works as expected. However, if you change the code (by > uncommenting the dialog lines, and commenting the setContentView > line), the context menu no longer works. > > public class AndroidTest extends Activity { > protected static final int ENTRY_ADD = Menu.FIRST; > protected static final int ENTRY_REMOVE = Menu.FIRST + 1; > > @Override > public void onCreate(Bundle savedInstanceState) { > super.onCreate(savedInstanceState); > setTheme(android.R.style.Theme_Dialog); > ListView lv = new ListView(this); > ArrayAdapter<CharSequence> adapter = > ArrayAdapter.createFromResource( > this, R.array.test, > android.R.layout.simple_list_item_1); > lv.setAdapter(adapter); > lv.setCacheColorHint(0); > lv.setOnCreateContextMenuListener(new OnCreateContextMenuListener > () { > public void onCreateContextMenu(ContextMenu menu, > View v, > ContextMenuInfo menuInfo) { > menu.add(0, ENTRY_ADD, 1, "Add"); > menu.add(0, ENTRY_REMOVE , 2,"Remove"); > }}); > //Dialog d = new Dialog(this); > //d.setContentView(lv); > //d.show(); > setContentView(lv); > } > > @Override > public boolean onContextItemSelected(MenuItem item) { > AdapterView.AdapterContextMenuInfo info = > (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); > Log.d("Test", "Selected item " + info.position); > switch(item.getItemId()) { > case ENTRY_ADD: > Log.d("Test", "Add was clicked"); > break; > case ENTRY_REMOVE: > Log.d("Test", "Remove was clicked"); > break; > default: > return super.onContextItemSelected(item); > } > return true; > } > > } > > My workaround may be using an activity composed of only a listview, > with the dialog theme - which should work fine. But that seems like > some additional work for something that should work as described above. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---