Come posso sapere che alcuni testi contengono "http: // www." Voglio mostrare il dominio in Web View. Il nome di dominio è scritto in TextView ma non ci sono restrizioni per aggiungere il prefisso. Se l'utente non l'ha inserito, devo aggiungere e visualizzare l'URL in webview.Aggiungi http: // www. nel testo se non esiste
risposta
Si può fare come questo
String url = textView.getText().toString();
if(!url.startsWith("www.")&& !url.startsWith("http://")){
url = "www."+url;
}
if(!url.startsWith("http://")){
url = "http://"+url;
}
È possibile utilizzare questo URL per visualizzare il contenuto in WebView
Spero che questo risolverà il vostro problema
Il modo più efficiente per verificare che il nome del dominio sia ben formato e contenga (o meno) un prefisso, è l'utilizzo di un'espressione regolare.
Verificare Java Pattern per corrispondere regex in Android. Ne vale la pena.
collegamento è morto (404) – mitsest
Vorrei solo ottenere il testo dal TextView e analizzarlo tramite startsWith(). Se questo è falso, basta aggiungerlo al testo e usare setText() per rasterizzarlo.
Si potrebbe anche voler controllare altre espressioni come "www.". Quindi dai uno sguardo più da vicino a contains().
Come richiesto da Sebastien, regex è una buona opzione. È inoltre possibile ottenere il testo dal punto di vista, creare un oggetto URI
Uri uri = Uri.create(view.getText().toString());
poi con uri.somemethod Si dovrebbe essere in grado di ottenere tutto ciò che riguarda un URL che si desidera sapere. Se l'uri non riesce a creare, si generano messaggi di errore perché qualcosa è andato storto.
Prova questa
String a = "http://";
webview.loadUrl(a + url.getText().toString());
Questo si interromperebbe se http: // esiste già nella stringa. – Tommie
solo modificato @silwar rispondi e aggiungi https:
if(!url.startsWith("www.")&& !url.startsWith("http://") && !url.startsWith("https://")){
url = "www."+url;
}
if(!url.startsWith("http://") && !url.startsWith("https://")){
url = "http://"+url;
}
Questo approccio è un po 'più semplice rispetto all'utilizzo di regex. Ad ogni modo, dovresti anche gestire il caso in cui l'utente digita 'www.domain.com' –
Hey Sebastien, per favore controlla di nuovo la risposta – silwar
Hm, questo approccio è buggato (potresti finire con URL come' www.http: // www .domain.com'). Ad ogni modo, penso che il poster aggiusterà il codice in base alle sue esigenze. –