2011-02-03 20 views
2

我有一個視圖,我想在longPress上顯示一個ContextMenu。我能夠使用推薦的方法來顯示這個ContextMenu:調用activity.registerForContextmenu並覆蓋onCreateContextMenu(...)。Android:在longPress上顯示ContextMenu以查看視圖?

但是,我想在其他觸摸事件上做其他事情,所以我的視圖有一個TouchHandler分配給它。當這個觸摸處理程序被設置時,onCreateContextMenu()永遠不會被調用(大概是因爲我的TouchHandler正在吃長按)。那麼,無論如何,我沒有調用onCreateContenxtMenu()方法來實例化並顯示ContextMenu?

或者,我可以用我的「菜單」項目顯示自己的自定義對話框。使用自定義對話框而不是ContextMenu有什麼缺點嗎?

回答

3

有一點需要嘗試的是,如果您不希望事件被消耗,則從OnTouchListener返回false。

+2

擊敗了我28秒:-) – 2011-02-03 22:37:14

+0

我返回我的GestureDector的結果,其longPress方法的返回類型爲「void」 – ab11 2011-02-03 22:40:34

1

你從OnTouchListener.OnTouch返回?返回false意味着你沒有消費過這個事件,這意味着其他行爲也可以在它上面執行。

相關問題