我有一個TextView
,其MovementMethod
設置爲LinkMovementMethod
。添加到TextView
的文字是普通文字和網址的組合。對於URL,我想提供一個上下文菜單,當URL被長時間按下來執行諸如複製地址之類的操作時。我查看了LinkMovementMethod
的源代碼,但似乎沒有任何長時間按下的相關代碼可以覆蓋。任何想法如何去實現這一目標?在TextView中長按鏈接時顯示上下文菜單
5
A
回答
13
您可以簡單地使用registerForContextMenu如:
TextView tv = new TextView(this);
registerForContextMenu(tv);
,然後重寫onCreateContextMenu創建菜單
@Override
public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
// Create your context menu here
menu.setHeaderTitle("Context Menu");
menu.add(0, v.getId(), 0, "Action 1");
}
在那裏你可以使用視圖的ID就傳遞給事件在按下菜單項時發生,以便區分哪個視圖稱爲事件。
@Override
public boolean onContextItemSelected(MenuItem item) {
// Call your function to preform for buttons pressed in a context menu
// can use item.getTitle() or similar to find out button pressed
// item.getItemID() will return the v.getID() that we passed before
}
+0
我只想顯示一個上下文菜單,只有當URL被長時間按下時,我可以給出一些特定於該鏈接的選項,如「複製」和「分享' – 2010-04-20 18:00:28
+1
@Al:如果你註冊一個上下文菜單,它只會出現在長按 – Casebash 2010-05-28 00:46:40
相關問題
- 1. 菜單鏈接不顯示在菜單按鈕下方
- 2. 在長按iOS上顯示菜單 - Phonegap
- 3. Android:經過長時間按下textview,我需要彈出上下文菜單
- 4. 實現OnClickListener使顯示上下文菜單短按一下不是長按
- 5. 鏈接按鈕上的下拉菜單?
- 6. 在imagegridview上顯示上下文菜單
- 7. 上下文菜單沒有長按
- 8. Android上下文菜單長按
- 9. 長按recyclerview android與上下文菜單
- 10. Android TextView在菜單上方顯示
- 11. 下拉菜單鏈接顯示在焦點上
- 12. 在Android上按需顯示上下文菜單
- 13. 在顯示上下文菜單CONTENTEDITABLE格
- 14. Android上下文菜單顯示在onCreate
- 15. 下拉菜單顯示問題鏈接菜單
- 16. 中斷遊戲以在按鈕上按下顯示菜單
- 17. 如何在android/ios設備上長按約束默認上下文菜單並顯示自定義菜單?
- 18. 在按下時突出顯示textview中的單詞
- 19. WPF上下文菜單和顯示超鏈接的下拉列表
- 20. 安卓:顯示一個上下文菜單欄時,點擊一個TextView
- 21. 在React Native中長按打開上下文菜單
- 22. 當鏈接懸停時,CSS下拉菜單不顯示
- 23. 鏈接菜單顯示在現場
- 24. HTML5遊戲如何禁用上下文菜單時長按
- 25. 顯示菜單在上下文菜單的ExtJS
- 26. 在UIWebview上檢測長按並在彈出鏈接時彈出菜單
- 27. 顯示上下文菜單(標記)
- 28. 顯示NatTable上下文菜單
- 29. Firefox上下文菜單項不顯示
- 30. 顯示上下文相關子菜單
你可能還想看看這個問題[在上下文菜單中實現複製](http://stackoverflow.com/questions/2226836/how-can-i-write-my-own-context -menu換複製粘貼)。它沒有答案atm,但我正在尋找一個 – Casebash 2010-05-28 02:22:01