[JAVA] [Android] Tippen Sie auf den Ankerlink in WebViewClient

Haken Sie einen Ankerlink in WebViewClient ein

Ich glaube nicht, dass es viele Fälle gibt, aber es ist ein Memorandum, wenn Sie mit WebView von Android auf den Ankerlink (Link auf der Seite) auf dem Webbildschirm tippen und zu diesem Zeitpunkt etwas auf der Anwendungsseite funktionieren lassen möchten.

** Beispiel: Wenn Sie WebView in ScrollView einbinden, funktioniert der Ankerlink nicht. Daher möchte ich den Tipp des Ankerlinks auf der Anwendungsseite einbinden, um durch ScrollView zu scrollen. **

Wenn Sie die WebView und die native Ansicht zusammen scrollen möchten, können Sie Folgendes implementieren

Süchtig machend: WebViewClient shouldOverrideUrlLoading wird nicht durch Tippen auf einen In-Page-Link aufgerufen

Was soll ich zuerst tun, wenn ich die URL mit shouldOverrideUrlLoading von WebViewClient sehe und es sich um einen In-Page-Link handelt? Ich habe nachgedacht, aber sollteOverrideUrlLoading wird nicht für Links innerhalb derselben Seite aufgerufen ...

Lösung: Wird aufgerufen, wenn WebViewClient onPageFinished ist

ShouldOverrideUrlLoading wird beim Tippen auf einen In-Page-Link nicht aufgerufen, onPageFinished jedoch. Sie können auch Url als Argument nehmen. Was soll ich hier tun? Angenommen, der In-Page-Link sieht folgendermaßen aus:

<a href="#top">Zurück nach oben</a> 

Es ist in Ordnung, wenn Sie mit WebViewClient wie folgt schreiben

 webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                if(url.contains("#top")) {
                    /**Schreiben Sie hier, was Sie tun möchten**/
                }
            }
        });

das ist alles.

Recommended Posts

[Android] Tippen Sie auf den Ankerlink in WebViewClient
Über die Grundlagen der Android-Entwicklung
Reihenfolge der Verarbeitung im Programm
Was war keine faire Verwendung der Java-API-Umleitung unter Android?
Android-Entwicklung, wie man den Wert des JSON-Objekts auf null überprüft
Holen Sie sich das Ergebnis von POST in Java
Verstehen Sie die Grundlagen von Android Audio Record
Die Identität der Schienenparameter [: id]
Die Geschichte des Schreibens von Java in Emacs
Schreiben Sie die Bewegung von Rakefile in das Runbook
Fassen Sie den Lebenszyklus von Java-Objekten zusammen, die bei der Android-Entwicklung berücksichtigt werden müssen
[Bestellmethode] Legen Sie die Reihenfolge der Daten in Rails fest
Die Geschichte des einfachen String-Vergleichs in Java
[Java] Behandlung von Java Beans in der Methodenkette
Die Geschichte eines gewöhnlichen Othello in Java
[Android] [Java] Verwalten Sie den Status der CheckBox von ListView
Über die Idee anonymer Klassen in Java
3 Möglichkeiten zum Importieren von Bibliotheken in Android Studio
Die Geschichte des Lernens von Java in der ersten Programmierung
Messen Sie die Größe eines Ordners mit Java
Spüren Sie den Lauf der Zeit auch in Java
Die Geschichte der Optimierung der Android-App mit libGDX
Holen Sie sich Ihre Versionsnummer in der Android-App
Importieren Sie Dateien derselben Hierarchie in Java
[Android 9.0 Pie Java] Implementieren Sie setOnTouchListener am Rand von RecyclerView und schließen Sie die Softtastatur
Verwendung von UsageStatsManager in Android Studio (Überprüfen der Startzeit anderer Apps)
[Rails] Ich möchte das Linkziel von link_to auf einer separaten Registerkarte anzeigen