Android 即使没有listitem,上下文菜单也会显示

Android 即使没有listitem,上下文菜单也会显示,android,listview,contextmenu,Android,Listview,Contextmenu,我在列表中添加了上下文菜单。但即使没有列表项,列表也会显示上下文菜单。 这是我的密码 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { // TODO Auto-generated method stub super.onCreateContextMenu(menu, v, menuInfo); if (v.getI

我在列表中添加了上下文菜单。但即使没有列表项,列表也会显示上下文菜单。 这是我的密码

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
        ContextMenuInfo menuInfo) {
    // TODO Auto-generated method stub
    super.onCreateContextMenu(menu, v, menuInfo);
    if (v.getId()==R.id.list) {
        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
        menu.add(getString(R.string.Delete));
    }
}
/* (non-Javadoc)
 * @see android.app.Activity#onContextItemSelected(android.view.MenuItem)
 */
@Override
public boolean onContextItemSelected(MenuItem item) {
    // TODO Auto-generated method stub
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)item.getMenuInfo();
    int menuItemIndex = item.getItemId();   
    showDeleteDialog(getString(R.string.deletemsg));
    return super.onContextItemSelected(item);

}

如何解决此问题?

在创建菜单之前,在onCreate中添加检查

假设列表项适配器对象称为listItemsAdapter

  AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;



    if(info != null)
    {
    if (v.getId()==R.id.list) {
            AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
            menu.add(getString(R.string.Delete));
        }
    }

当你点击一个空单元格或一个有值的单元格时。如果它只是一个空单元格,那么我已经相应地修改了代码

我得到的信息为空。