我正在尝试在DialogPreference
Android 应用程序中创建上下文菜单(如果相关,则针对 API 级别 8)。我已经设法ListView
通过轻微的黑客攻击来显示菜单(当单击 a 中的项目时),但我不知道如何处理任何生成的命令。到目前为止,我所拥有的是:
在我的
onItemClick
处理程序中,我执行以下操作:list.setOnCreateContextMenuListener (new ContextMenuGenerator(control, position)); list.showContextMenuForChild (control); list.setOnCreateContextMenuListener (null);
ContextMenuGenerator
执行以下操作:public class ContextMenuGenerator implements OnCreateContextMenuListener { // additional code redacted - not necessary for this question @Override public void onCreateContextMenu (ContextMenu menu, View v, ContextMenuInfo menuInfo) { new MenuInflater(context).inflate (R.menu.address_set_preference_popup, menu); } }
这会导致在正确的时间显示正确的菜单,但我不知道选择一个项目后会发生什么。我认为是在创建时onContextItemSelected(MenuItem)
调用的,但我不知道如何从那里获取我可以处理该事件的代码——我没有看到任何子类化的方式,似乎也没有办法将外部侦听器附加到它或. 还有其他我没有想到的方法吗?Dialog
DialogPreference
Dialog
ContextMenu