我想用一個上下文菜單當一個適配器內部上查看用戶點擊。
希望不是。當用戶長按AdapterView
中的項目時,可以使用上下文菜單。 Here is a sample project證明了這一點。
如@ coder_For_Life22所示,其他任何內容(例如,當用戶點擊適配器內的視圖時彈出一些內容)應該是AlertDialog
。
因此,當我嘗試創建上下文菜單或註冊registerForContextMenu內只有擴展BaseAdapter的類,這是不可能的。
您只能撥打registerForContextMenu()
一次,爲AdapterView
。您從onCreate()
開始執行此操作,因爲您呼叫setContentView()
並因此創建了AdapterView
。
其他任何東西都應該是AlertDialog
。
是否有可能給這個類提供一個允許它啓動上下文菜單的參數?
你不應該需要「給這個類的參數,允許它啓動的上下文菜單」,因爲你只叫registerForContextMenu()
一次,爲AdapterView
。
其他任何東西都應該是AlertDialog
。您可以在Adapter
上添加一個構造函數,該函數以Activity
作爲參數,您的Adapter
可以保留並用於AlertDialog
。或者,如果Adapter
是Activity
的內部類別,則只需使用MyActivityName.this
即可引用Activity
。
問題解決: 在「不是活動的類」內部,我使用了AlertDialog。要使用它,我將使用此類的活動的上下文作爲參數。因此,可以向用戶顯示一個不是活動的選項列表。爲此,必須使用: Looper。準備(); \t \t \t \t \t \t ab.show(); \t \t \t \t \t \t Looper.loop(); 爲不是活動的類創建處理程序。 – Cavina 2011-12-21 22:08:52