Risposta breve
Usa il pattern WEB_URL nella classe Patterns
Patterns.WEB_URL.matcher(potentialUrl).matches()
Restituirà True se l'URL è valido e falso se l'URL non è valido .
Risposta lunga
A partire dal livello 8 dell'API Android, esiste un pattern WEB_URL . Citando la fonte, "corrisponde alla maggior parte della RFC 3987". Se scegli come target un livello API inferiore, potresti semplicemente copiare il pattern dall'origine e includerlo nella tua applicazione. Presumo che tu sappia come usare modelli e abbinamenti, quindi non entrerò in maggiori dettagli qui.
Anche la classe URLUtil fornisce alcuni metodi utili, ad esempio:
Le descrizioni dei metodi non sono molto elaborate, quindi probabilmente è meglio guardare la fonte e capire quale si adatta meglio al tuo scopo.
Per quanto riguarda quando attivare il controllo di convalida, ci sono più possibilità: potresti usare le funzioni di callback EditText
o usa un TextWatcher , che penso sarebbe meglio.
NON USARE URLUtil per convalidare l'URL come di seguito.
URLUtil.isValidUrl(url)
perché fornisce stringhe come "http: //" come URL valido che non è vero