2010-12-04 79 views
3

考虑安装有上下文菜单的Android ListView,该菜单的设置为registerForContextMenu。当用户长时间浏览项目视图时,会显示ListView项目的上下文菜单。在Android上按需显示上下文菜单

此外,我想显示上下文菜单,当用户点击(不长的水龙头)的项目(如果某些条件得到满足)。是否有可能做到这一点?怎么样?

+0

并不清楚究竟是什么问题。你的意思是,你已经用registerForContextMenu设置了ListView,它仍然没有显示 - 或者它已经是? – 2010-12-04 15:23:32

+0

我也想在用户点击(不长时间点击)时显示上下文菜单。 – hpique 2010-12-04 15:25:34

回答

6

我设法通过浏览Android源代码来解决这个问题。下面是我所做的:

protected void onItemClick(AdapterView<?> adapterView, int position) { 
    final int start = adapterView.getFirstVisiblePosition(); 
    final int index = position - start; 
    final View childView = adapterView.getChildAt(index); 
    if (childView != null) { 
     adapterView.showContextMenuForChild(childView); 
    } 
} 
1

是从您的单击事件调用performLongClick方法,它应该这样做