[JAVA] [Android] Accrochez le robinet du lien d'ancrage dans WebViewClient

Accrocher un lien d'ancrage tap dans WebViewClient

Je ne pense pas qu'il y ait beaucoup de cas, mais c'est un mémorandum lorsque vous voulez accrocher le robinet du lien d'ancrage (lien dans la page) sur l'écran Web dans Android WebView et faire fonctionner quelque chose du côté de l'application à ce moment.

** Exemple: si vous incluez WebView dans ScrollView, le lien d'ancrage ne fonctionnera pas, donc je veux accrocher le robinet du lien d'ancrage du côté de l'application pour faire défiler ScrollView **

Lorsque vous souhaitez faire défiler la WebView et la vue native ensemble, vous pouvez implémenter quelque chose comme ci-dessus

Addictif: WebViewClient shouldOverrideUrlLoading n'est pas appelé en appuyant sur un lien dans la page

Au début, que dois-je faire quand je vois l'URL dans shouldOverrideUrlLoading de WebViewClient et que c'est un lien dans la page! Je pensais, mais shouldOverrideUrlLoading n'est pas appelé pour les liens dans la même page ...

Solution: appelée si WebViewClient est onPageFinished

ShouldOverrideUrlLoading n'est pas appelé lorsque vous appuyez sur un lien dans la page, mais onPageFinished l'est. Vous pouvez également prendre Url comme argument, alors que dois-je faire ici? Par exemple, supposons que le lien sur la page ressemble à ceci:

<a href="#top">Retour au sommet</a> 

C'est OK si vous écrivez comme suit en utilisant WebViewClient

 webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                if(url.contains("#top")) {
                    /**Écrivez ce que vous voulez faire ici**/
                }
            }
        });

c'est tout.

Recommended Posts

[Android] Accrochez le robinet du lien d'ancrage dans WebViewClient
À propos des bases du développement Android
Ordre de traitement dans le programme
Qu'est-ce qui n'était pas une utilisation équitable du détournement d'API Java sur Android?
Développement Android, comment vérifier null dans la valeur de l'objet JSON
Obtenez le résultat de POST en Java
Comprendre les bases de l'enregistrement audio Android
L'identité des paramètres de rails [: id]
L'histoire de l'écriture de Java dans Emacs
Ecrire le mouvement de Rakefile dans le runbook
Résumer le cycle de vie des objets Java à prendre en compte dans le développement Android
[Order method] Définit l'ordre des données dans Rails
L'histoire de la comparaison de chaînes de bas niveau en Java
[Java] Gestion des Java Beans dans la chaîne de méthodes
L'histoire de la fabrication d'un Othello ordinaire à Java
[Android] [Java] Gérer l'état de CheckBox de ListView
À propos de l'idée des classes anonymes en Java
3 façons d'importer des bibliothèques dans Android Studio
L'histoire de l'apprentissage de Java dans la première programmation
Mesurer la taille d'un dossier avec Java
Ressentez le passage du temps même à Java
L'histoire du réglage de l'application Android avec libGDX
Obtenez votre numéro de version dans l'application Android
Importer des fichiers de la même hiérarchie en Java
[Android 9.0 Pie Java] Implémentez setOnTouchListener dans la marge de RecyclerView et fermez le clavier virtuel
Comment utiliser UsageStatsManager dans Android Studio (Comment vérifier l'heure de démarrage d'autres applications)
[Rails] Je souhaite afficher la destination du lien de link_to dans un onglet séparé