2011-03-15 124 views
1

我該如何去添加一個上下文菜單到微調彈出菜單?微調項目的上下文菜單

我有一個數據庫光標填充的微調,我想有一個上下文菜單,所以當用戶長時間點擊一個項目,他們可以編輯或刪除項目(上下文菜單中的兩個選項)。

我似乎無法找到一種方法來註冊與可選項目一起出現的窗口的上下文菜單。有沒有辦法像列表視圖一樣?

否則,如果有一個隱藏視圖被註冊爲上下文菜單,然後使用微調的OnItemLongClickListener調用openContextMenu作爲隱藏視圖?這看起來有點像黑客攻擊,所以如果可能的話,我寧願採用正確的方式。

或者,也許我應該只是註冊了上下文菜單中的微調而不是隱藏一個的......

謝謝!

回答

2

我該如何去添加一個上下文菜單到微調彈窗?

理想情況下,你甚至不會嘗試。經典的彈出式上下文菜單將會被新的Honeycomb UI所淘汰,至少對於平板電腦而言,所以我不會花費大量時間將它們入侵到通常不常用的小部件中。

此外,用戶不太可能發現您的上下文菜單,僅僅因爲他們往往不會經常發現上下文菜單。用戶往往不會通過隨機刺穿屏幕進行實驗來查看菜單是否會彈出。他們知道你的上下文菜單的唯一方法是如果他們閱讀了精細的手冊,並且我們都知道發生的頻率。因此,您需要一些其他方式讓用戶執行相同的操作 - 讓他們只能通過不可發現的上下文菜單編輯/刪除是非常用戶友好的。因此,上下文菜單充其量只是一種促進因素,不值得強迫進入意想不到的和不受支持的地方。

我有一個由數據庫光標填充的微調,我想有一個上下文菜單,以便當用戶點擊長,他們可以編輯或刪除項目的項目(在上下文菜單中選擇兩個選項) 。

如果您想要上下文菜單,請將Spinner轉換爲ListView。這不僅會增加更多發現(如果長時間點擊列表項目,某些用戶會習慣於有趣的事情),但上下文菜單自然適用。

如果你真的想,你可以克隆Spinner(也可能AbsSpinner或其他超)到您的項目,這樣你就可以接管控制下拉的行爲,那麼寫的東西能夠在選擇對話框中的上下文菜單。然後,您需要記住,沒有任何內容可以在Android 3.0中使用新的Spinner,因爲沒有更多選擇對話框。

+0

感謝您的幫助!我並不知道微調器的變化到了3.0。理想情況下,一個listView會工作,但我有有限的屏幕空間,所以無論是listView會很短或它會佔用太多的空間...我想三個小按鈕新,編輯,並刪除微調下可能會奏效,但這也會佔用更多可觀的屏幕空間,而不僅僅是微調器。我有我上面描述的實現工作,但我不能讓longClickListener觸發,所以我可能不會在彈出窗口上使用「上下文菜單」,而最終我不會這樣做。 – Matt 2011-03-15 02:10:17

+0

我想我會把這個標記爲答案。我還沒有決定是否僅僅依靠紡紗工的背景,或者我還會有一些可見的按鈕,但是你指出了我的正確方向。謝謝。 – Matt 2011-03-15 22:32:59