对Android子菜单ContextMenuInfo返回空值的处理方法
            
                在列表页面(ListView)的弹出菜单中,有的时候我们需要用到子菜单,今天在使用的过程中发现,当我们需要获取ContextMenuInfo并取得一些列表项(list Item)信息,当菜单为子菜单的时候,调用item.getMenuInfo()返回空值null。如下所示:

02 | 
public void onCreateContextMenu(ContextMenu menu, View v, | 
03 | 
        ContextMenuInfo menuInfo) { | 
04 | 
    menu.setHeaderTitle("操作"); | 
05 | 
    menu.add(0, VIEW_ID, 0, "查看全文"); | 
06 | 
    menu.add(0, DELETE_ID, 0, "删除"); | 
07 | 
    SubMenu submenu = menu.addSubMenu(1,SHARE,0,"分享"); | 
08 | 
    submenu.add(2,SHARE1,0,"短信分享"); | 
09 | 
    submenu.add(2,SHARE2,0,"Gmail分享"); | 
10 | 
    super.onCreateContextMenu(menu, v, menuInfo); | 
14 | 
public boolean onContextItemSelected(MenuItem item) { | 
15 | 
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); | 
16 | 
    RSSItem rssItem = (RSSItem) getListAdapter().getItem(info.position); | 
查了很多资料发现,这可能是目前存在的一个bug,那么怎么解决这个问题呢?
我们可以通过一个成员变量来保存列表项(listView's Items)子菜单的MenuInfo。解决方法如下所示:
 
【编辑推荐】
- Android开发:实现popupwindow中显示listview 
 - Android开发:实现带图片和checkbox的listview 
 - Android触屏textview及listview对比验证 
 - Android ListView复杂使用方式简单理解 
 
                
                分享文章:对Android子菜单ContextMenuInfo返回空值的处理方法                
                链接分享:
http://www.cdjierui.cn/article/cdohjhe.html