2010-12-04 75 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方法,它應該這樣做