Ho un TextView
con il MovementMethod
impostato su LinkMovementMethod
. Il testo aggiunto a TextView
è una combinazione di testo normale e URL. Per gli URL, vorrei offrire un menu contestuale quando l'URL viene premuto a lungo per fare cose come copiare l'indirizzo. Ho dato un'occhiata all'origine per LinkMovementMethod
ma non sembra che abbia un codice relativo premuto a lungo che potrei sovrascrivere. Qualche idea su come andare in giro per raggiungere questo?Mostra menu contestuale quando il collegamento viene premuto a lungo in TextView
risposta
Si può semplicemente utilizzare registerForContextMenu esempio:
TextView tv = new TextView(this);
registerForContextMenu(tv);
e quindi sovrascrivere l'onCreateContextMenu per creare un menu
@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");
}
dove è possibile utilizzare l'ID della vista di trasmettere agli eventi che si verificano alla pressione di una voce di menu, al fine di differenziare quale vista ha chiamato l'evento.
@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
}
Voglio mostrare solo un menu di scelta rapida solo quando l'URL è premuto a lungo, quindi posso dare alcune opzioni specifiche per quel collegamento come "Copia" e " Condividi ' –
@Al: se si registra un menu di scelta rapida, viene visualizzato solo su una pressione prolungata – Casebash
- 1. Mostra menu contestuale con un clic breve non lungo Click
- 2. Pulsante premuto a lungo
- 3. Ripetere un'azione tenendo premuto il pulsante lungo
- 4. Mostra menu contestuale su clic sinistro utilizzando solo XAML
- 5. L'integrazione in Windows Explorer menu contestuale
- 6. Mostra casella di controllo Menu Menu o Menu contestuale di un pulsante
- 7. Menu contestuale iPhone/iPad
- 8. come chiamare menu contestuale
- 9. Ottieni un elemento selezionato in listview quando generi menu contestuale
- 10. Abilita onContextMenu quando il rilevamento collegamento automatico è presente
- 11. Come implementare il menu contestuale per NSCollectionView
- 12. Android Listener respingere menu contestuale
- 13. TextView interrompe il testo quando è sufficientemente lungo
- 14. TextView ClickableSpan styling per stato premuto
- 15. Prevenire il webkit iOS a lungo sul collegamento
- 16. Menu contestuale WPF e ListView
- 17. Come ottenere il titolo per un UIButton quando viene premuto
- 18. Crea elemento personalizzato in jsTree Menu contestuale
- 19. Modifica stile editatext stile popup menu contestuale
- 20. Pycharm 4.0.4 non può eseguire il file, mostra 'Esegui doct' nel menu contestuale invece
- 21. Disabilita menu di selezione contestuale a strisce pedonali (Cordova)
- 22. Come evidenziare un pulsante quando viene premuto?
- 23. Rileva quando viene premuto il pulsante Home iOS
- 24. JButton rimane premuto quando il focus viene rubato da JOptionPane
- 25. Comando di richiamo quando viene premuto il tasto "INVIO" XAML
- 26. TextView Il collegamento ipertestuale non funziona?
- 27. La barra delle azioni mostra il menu a discesa quando solo un elemento nel menu
- 28. android: Softkeyboard esegue un'azione quando viene premuto il tasto Fine
- 29. Mostra tastiera automaticamente quando viene caricato UISearchController
- 30. jQuery: mostra un elemento dal menu a tendina select, lo nascondi quando viene selezionata un'altra opzione
Si consiglia inoltre di guardare a questa domanda per [attuazione di copia in un menu di contesto] (http://stackoverflow.com/questions/2226836/how-can-i-write-my-own-context -menu-per-copia-incolla). Non ha una risposta, ma sto lavorando per trovare uno – Casebash