对Android子菜单ContextMenuInfo返回空值的处理方法

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

01 @Override
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);
11 }
12  
13 @Override
14 public boolean onContextItemSelected(MenuItem item) {
15     AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
16     RSSItem rssItem = (RSSItem) getListAdapter().getItem(info.position);
17 }

查了很多资料发现,这可能是目前存在的一个bug,那么怎么解决这个问题呢?

我们可以通过一个成员变量来保存列表项(listView's Items)子菜单的MenuInfo。解决方法如下所示:

 

【编辑推荐】

  1. Android开发:实现popupwindow中显示listview 
  2. Android开发:实现带图片和checkbox的listview 
  3. Android触屏textview及listview对比验证 
  4. Android ListView复杂使用方式简单理解 

当前文章:对Android子菜单ContextMenuInfo返回空值的处理方法
浏览地址:http://www.csdahua.cn/qtweb/news32/360132.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网