2009-12-24 65 views
0

我是Android新手。我有一個項目列表,並嘗試將單個上下文菜單關聯到每個列表項目。已經設置了setListAdapter和onListItemClick,但是當我點擊任何列表項時,我總是獲得相同的上下文菜單。理想情況下,列表項A應該觸發菜單A,並且列表項B應該得到菜單B.不知道該怎麼做。任何人都可以幫我找到一個示例代碼,我可以用它來學習如何做到這一點?android - 列出項目打開的上下文菜單

非常感謝和聖誕快樂,

斯特凡諾

回答

4

我沒有任何的示例代碼,顯示技術 - 我最好的例子是我做了一個諮詢客戶端。

但是,讓我指出您使用上下文菜單並將其用作此解釋的基礎的this sample project

您需要返回onCreateContextMenu()中的自定義菜單。如果你總是在這裏返回相同的菜單,你將總是看到相同的菜單。要確定要顯示哪個菜單,您需要知道哪個列表項是長時間點擊的。在ListView的上下文菜單的情況下,您可以將提供給onCreateContextMenu()ContextMenu.ContextMenuInfo強制轉換爲AdapterView.AdapterContextMenuInfo。該對象可以告訴你該列表中被長時間點擊的項目的位置和_ID,因此您可以選擇適當的菜單。

在上面鏈接的示例代碼中,我在onContextItemSelected()中執行了此操作,因此我可以知道用戶正在刪除哪個項目。然而,相同的演員陣容在onCreateContextMenu()

1

Android團隊最近發佈了一些新的樣本。我相信你想要做的是一個很好的例子here

+1

該示例雖然不錯,但不會顯示上下文菜單,而是根據發佈的問題。 – CommonsWare

+0

它可以適應創建上下文菜單,而不是LinearLayout?我可能是錯的,或者我選擇了錯誤的樣本。昨晚我正在瀏覽這些內容,似乎有更多的東西在網站上列出。 –

+0

我想我想鏈接到這一個:http://d.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html :)當你選擇一個項目,你可以建立一個對話框。 –

相關問題