2016-09-01 2 views
1

Ich habe eine Webansicht, die ich auf eine bestimmte Domain beschränke, so dass der Benutzer nicht versuchen wird, von dort zu anderen Domains zu gehen.WebViewClient um mehr als eine Domain zu erlauben

Einer meiner Fragmente lädt eine URL aus einer Domäne und muss in andere Domäne übertragen werden, wenn Sie auf eine Schaltfläche auf der Website klicken. Also habe ich versucht, mit der Logik zu kommen, dies zu ermöglichen:

public class MyWebViewClient extends WebViewClient { 
private String firstUrl, secondUrl; 

public MyWebViewClient(String firstUrl, String secondUrl) { 
    this.firstUrl = firstUrl; 
    this.secondUrl = secondUrl; 
} 
@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (url.contains(firstUrl) == true && url.contains(secondUrl) == true) { 
     view.loadUrl(url); 
    } 
    return true; 

} 

}

Was nicht funktioniert, die Seite fein wird geladen, aber wenn Sie den Link für die zweite zugelassene URL zu drücken versuchen, es ist einfach nicht laden ...

irgendwelche Lösungen/Ideen? Danke

Antwort

0

In der if-Statement if (url.contains(firstUrl) == true && url.contains(secondUrl) == true) überprüfen Sie, ob die URL zu den beiden Domänen gleichzeitig gilt, was unmöglich ist. Sie sind auch true immer zurückkehren, so wird WebView außer Kraft setzen url Laden

Hier ist, wie die shouldOverrideUrlLoading aussehen muss:

@Override 
public boolean shouldOverrideUrlLoading(WebView view, String url) { 
    if (url.contains(firstUrl) || url.contains(secondUrl)) { 
     return false; 
    } 
    return true; 
} 

Hoffe, es hilft!

+0

Hallo, Bereits behoben, nur nicht die Post aktualisiert. Entschuldigung und danke für die Antwort. – user3181843

Verwandte Themen