我有顯示列表視圖的活性。我可以從ListView彈出菜單訪問ListView項目數據和底層數據庫數據嗎?
的列表視圖使用一個CursorAdapter顯示來自一個SQLite數據庫中讀取數據。
- 我已經實現了一個按鈕出現在每個ListView項目。
- 點擊按鈕調用一個'onClickListener',它顯示一個彈出菜單(通過膨脹'PopupMenu')。
- 我需要從onMenuItemClick處理程序中的ListView項訪問數據,以便繼續處理。
有沒有什麼辦法可以做到這一點?
我問裏面的代碼這個問題的一個更長的版本,但所以我想這可能是太長了,現在我已經刪除了它,它沒有得到任何迴應。
我的代碼表明,我已盡力實現單擊處理有兩種方式: -
- 通過XML安卓的onClick,因此點擊處理程序出現在活動代碼
- 和動態,因此點擊處理程序出現在CursorAdapter代碼中。
我不能找到一種方法來訪問列表中的每個項目的數據。似乎沒有辦法通過View參數進入它。而onMenuClick僅通過「菜單項」
感謝您能夠提供
看來我可能會去有關實現popoup菜單中的錯誤的方式任意方向?
問'適配器'爲你做... ...? – Shark
努力工作。但是,所有適配器給我的是它上次讀取的數據,即列表視圖中的底部(或頂部)項目(取決於我上次滾動的方式)。感謝您的評論 – SimonH
我不敢相信這個非常直接的要求並不容易或明顯 - ListView Items中的彈出式菜單肯定很平常,而且大多數應用程序都希望對ListItem數據做些什麼.... ...但是我可以通過將數據庫表鍵作爲標記傳遞給按鈕視圖來解決問題。骯髒的黑客的位,這意味着我必須再次閱讀數據庫,所以它不是理想的。哦,至少我可以克服這個問題 – SimonH