Skąd mogę wiedzieć, że niektóre teksty zawierają "http: // www." Chcę wyświetlać domenę w widoku sieci Web. Nazwa domeny jest napisana w TextView, ale nie ma ograniczeń, aby dodać prefiks. Jeśli użytkownik go nie wprowadził, muszę dodać i wyświetlić URL w widoku webowym.Dodaj http: // www. w tekście, jeśli nie, istnieje
Odpowiedz
Można zrobić tak
String url = textView.getText().toString();
if(!url.startsWith("www.")&& !url.startsWith("http://")){
url = "www."+url;
}
if(!url.startsWith("http://")){
url = "http://"+url;
}
Możesz użyć tego adresu URL do wyświetlania treści w WebView
nadzieję rozwiązać ten problem
Najbardziej skutecznym sposobem sprawdzenia, czy nazwa domeny jest dobrze uformowana i zawiera (lub nie) prefiks, jest użycie wyrażenia regularnego.
Zapoznaj się z Java Pattern, aby dopasować wyrażenie regularne w systemie Android. Jest tego warte.
link jest martwy (404) – mitsest
Po prostu pobierałbym tekst z TextView i parsował go za pomocą startsWith(). Jeśli jest to wartość false, po prostu dodaj ją do tekstu i użyj setText(), aby ponownie ją zarchiwizować.
Możesz również chcieć sprawdzić inne wyrażenia, takie jak tylko "www.". Więc przyjrzyj się bliżej funkcji contains().
Zgodnie z prośbą Sebastie, regex to dobra opcja. Można również uzyskać tekst z widzenia, utworzyć obiekt URI
Uri uri = Uri.create(view.getText().toString());
następnie uri.somemethod Powinieneś być w stanie uzyskać wszystko o url chcesz wiedzieć. Jeśli uri nie uda się utworzyć, generowane są komunikaty o błędach, ponieważ coś poszło nie tak.
Spróbuj
String a = "http://";
webview.loadUrl(a + url.getText().toString());
To by się zepsuło, jeśli http: // już istnieje w ciągu znaków. – Tommie
tylko zmodyfikowano @silwar odpowiedź i dodaj https:
if(!url.startsWith("www.")&& !url.startsWith("http://") && !url.startsWith("https://")){
url = "www."+url;
}
if(!url.startsWith("http://") && !url.startsWith("https://")){
url = "http://"+url;
}
- 1. Dodaj klucz do rejestru, jeśli nie istnieje
- 2. dodaj znak spacji w tekście Typoscript
- 3. Przekierowania IIS nie-www na www AND http do https
- 4. MongoDb: dodaj element do tablicy, jeśli nie istnieje
- 5. Dodaj klucz podstawowy do tabeli PostgreSQL tylko, jeśli nie istnieje
- 6. Powershell Tylko Dodaj do Array, jeśli nie istnieje
- 7. mod_rewrite: wymusić www tylko jeśli nie w localhost
- 8. Utwórz plik, jeśli plik nie istnieje
- 9. Różnica między http i www
- 10. Określanie obsługiwanej wersji HTTP przez serwer WWW
- 11. Dodaj zawartość, jeśli element nie jest pusty
- 12. mkdir Tylko jeśli nie istnieje
- 13. określanie metod uwierzytelniania WWW http:
- 14. Jeśli nie istnieje, zakończ + cmd
- 15. Utwórz katalog, jeśli nie istnieje
- 16. Utwórz katalog, jeśli nie istnieje
- 17. Dodaj nagłówek WSSE SOAP do referencji WWW
- 18. Dodawanie kolumny, jeśli nie istnieje
- 19. python: Utwórz plik, ale jeśli istnieje, dodaj numer
- 20. MySQL - Jeśli istnieje, uzyskaj klucz podstawowy. Inaczej dodaj wpis
- 21. Utwórz plik, jeśli nie istnieje
- 22. JEŚLI NIE ISTNIEJE w oświadczeniu "Połącz"?
- 23. Wstawka kodu, jeśli nie istnieje i aktualizuje się, jeśli nie
- 24. Jeśli istnieje lub istnieje?
- 25. Jeśli nie istnieje - polecenie CMD - nie działa
- 26. Jak sprawdzić, czy grupa istnieje i dodaj jeśli nie w Linux Shell Script
- 27. Tworzenie stron WWW: localStorage vs. buforowane HTTP
- 28. Przekierowanie URL IIS7 - Dodaj prefiks "www"
- 29. Pasek postępu na żądanie WWW ($ http) AngularJS
- 30. jQuery: sprawdzanie, czy wartość jest w tablicy, jeśli tak, usuń, jeśli nie, dodaj
To podejście jest nieco prostsze niż użycie regex. W każdym razie, powinieneś także poradzić sobie z przypadkiem, w którym użytkownik wpisze 'www.domain.com' –
Hej, Sebastien, proszę sprawdź odpowiedź ponownie – silwar
Hm, to podejście jest błędne (możesz skończyć z adresami URL' 'http: // www .domain.com'). W każdym razie, myślę, że plakat dostosuje kod do swoich potrzeb. –