Réponse courte
Utiliser le motif WEB_URL dans la classe de motifs
Patterns.WEB_URL.matcher(potentialUrl).matches()
Il retournera Vrai si l'URL est valide y false si l'URL n'est pas valide .
Réponse longue
À partir du niveau 8 de l'API d'Android, il existe une WEB_URL modèle. En citant la source, il "correspond à la majeure partie de la RFC 3987". Si vous visez un niveau d'API inférieur, vous pouvez simplement copier le motif de la source et l'inclure dans votre application. Je suppose que vous savez comment utiliser les motifs et les matrices, je ne vais donc pas entrer dans les détails ici.
Aussi la classe URLUtil fournit quelques méthodes utiles, par exemple
Les descriptions des méthodes ne sont pas très élaborées, il est donc probablement préférable de consulter la source et de déterminer celle qui correspond le mieux à votre objectif.
Quant à savoir quand déclencher le contrôle de validation, il existe plusieurs possibilités : vous pouvez utiliser les fonctions de rappel de EditText
ou utiliser un TextWatcher ce qui, à mon avis, serait mieux.
N'UTILISEZ PAS URLUtil pour valider l'URL comme ci-dessous.
URLUtil.isValidUrl(url)
parce qu'il donne des chaînes comme "http://" comme URL valide, ce qui n'est pas vrai.