我是Android新手。我有一個項目列表,並嘗試將單個上下文菜單關聯到每個列表項目。已經設置了setListAdapter和onListItemClick,但是當我點擊任何列表項時,我總是獲得相同的上下文菜單。理想情況下,列表項A應該觸發菜單A,並且列表項B應該得到菜單B.不知道該怎麼做。任何人都可以幫我找到一個示例代碼,我可以用它來學習如何做到這一點?android - 列出項目打開的上下文菜單
非常感謝和聖誕快樂,
斯特凡諾
我是Android新手。我有一個項目列表,並嘗試將單個上下文菜單關聯到每個列表項目。已經設置了setListAdapter和onListItemClick,但是當我點擊任何列表項時,我總是獲得相同的上下文菜單。理想情況下,列表項A應該觸發菜單A,並且列表項B應該得到菜單B.不知道該怎麼做。任何人都可以幫我找到一個示例代碼,我可以用它來學習如何做到這一點?android - 列出項目打開的上下文菜單
非常感謝和聖誕快樂,
斯特凡諾
我沒有任何的示例代碼,顯示技術 - 我最好的例子是我做了一個諮詢客戶端。
但是,讓我指出您使用上下文菜單並將其用作此解釋的基礎的this sample project。
您需要返回onCreateContextMenu()
中的自定義菜單。如果你總是在這裏返回相同的菜單,你將總是看到相同的菜單。要確定要顯示哪個菜單,您需要知道哪個列表項是長時間點擊的。在ListView
的上下文菜單的情況下,您可以將提供給onCreateContextMenu()
的ContextMenu.ContextMenuInfo
強制轉換爲AdapterView.AdapterContextMenuInfo
。該對象可以告訴你該列表中被長時間點擊的項目的位置和_ID
,因此您可以選擇適當的菜單。
在上面鏈接的示例代碼中,我在onContextItemSelected()
中執行了此操作,因此我可以知道用戶正在刪除哪個項目。然而,相同的演員陣容在onCreateContextMenu()
。
Android團隊最近發佈了一些新的樣本。我相信你想要做的是一個很好的例子here。
該示例雖然不錯,但不會顯示上下文菜單,而是根據發佈的問題。 – CommonsWare
它可以適應創建上下文菜單,而不是LinearLayout?我可能是錯的,或者我選擇了錯誤的樣本。昨晚我正在瀏覽這些內容,似乎有更多的東西在網站上列出。 –
我想我想鏈接到這一個:http://d.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html :)當你選擇一個項目,你可以建立一個對話框。 –