Activer longClick dans WebView
Dans le navigateur, vous pouvez longClick sur les Url. Dans mon WebView, vous ne pouvez pas. Comment puis-je faire en sorte que vous pouvez?
source d'informationauteur Aymon Fournier
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce même problème.
Malheureusement, je ne pouvais pas trouver un moyen de rendre le navigateur standard options de menu s'affichent. Vous avez à mettre en œuvre chacun de vous. Ce que j'ai fait était d'inscrire la WebView pour les menus contextuels avec
activity.registerForContextMenu(webView)
. Ensuite, j'ai sous-classé le WebView et emportait cette méthode:Si vous voulez faire autre chose que d'un menu contextuel, puis utiliser une
OnLongClickListener
. Cependant, vous voulez intercepter le clic long de l'événement, leHitTestResult
est la clé. C'est ce qui va vous permettre de comprendre ce que l'utilisateur a cliqué sur et faire quelque chose avec elle.Je n'ai pas réellement mis en œuvre "Enregistrer le Lien" moi-même, j'ai juste compris comme un exemple ici. Mais pour ce faire vous avez à faire tout le traitement vous-même; vous auriez à faire une demande HTTP GET, de recevoir la réponse, puis le stocker quelque part sur l'utilisateur de la carte SD. Il n'y a aucun moyen que je connaisse pour invoquer directement le Navigateur de l'application de l'activité de téléchargement. Votre "Enregistrer le Lien" code ressemblera à ceci:
Je pense que vous pourriez utiliser quelque chose comme ceci:
Qui devrait vous laisser attraper long clique sur la vue. Ce que vous faites après que... c'est à vous de voir!
J'avais activer Javascript dans la webview. Ensuite, utilisez onMouseDown() et onMouseUp() pour déterminer la durée de la clic.
Vous pouvez créer des menus popup en Javascript aussi (pas les menus standard, mais votre propre).
Enfin, vous pouvez interagir entre Javascript et votre Android/code Java.
Exemple de la simple interaction entre Javascript et une application Android.
http://code.google.com/p/apps-for-android/source/browse/trunk/Samples/WebViewDemo/assets/demo.html
http://code.google.com/p/apps-for-android/source/browse/trunk/Samples/WebViewDemo/src/com/google/android/webviewdemo/WebViewDemo.java
Alternativement, vous pouvez lancer réel navigateur au lieu d'utiliser une WebView.
Je voulais juste copier l'URL de données sur de longues clic.
En prenant de référence de la accepté de répondre, j'ai écrit cela.