Как я могу знать, что какой-то текст содержит «http: // www.» Я хочу показать домен в веб-представлении. Доменное имя написано в TextView, но нет ограничений на добавление префикса. Если пользователь не вводил его, мне нужно добавить и отобразить URL-адрес в webview.
Вы можете сделать так
String url = textView.getText().toString(); if(!url.startsWith("www.")&& !url.startsWith("http://")){ url = "www."+url; } if(!url.startsWith("http://")){ url = "http://"+url; }
Вы можете использовать этот URL для отображения содержимого в WebView
Надеюсь, это решит вашу проблему
Самый эффективный способ проверки того, что имя домена хорошо сформировано и содержит (или не) префикс, использует регулярное выражение.
Проверьте шаблон Java для соответствия регулярному выражению в Android. Оно того стоит.
Просто изменил ответ @silwar и добавил https:
if(!url.startsWith("www.")&& !url.startsWith("http://") && !url.startsWith("https://")){ url = "www."+url; } if(!url.startsWith("http://") && !url.startsWith("https://")){ url = "http://"+url; }
Я бы просто получил текст из TextView и проанализировал его через startWith (). Если это ложь, просто добавьте его в текст и используйте setText () для его повторного использования.
Вы также можете проверить другие выражения, как только «www.». Поэтому присмотритесь к contains ().
По просьбе Себастьяна регулярное выражение является хорошим вариантом. Вы также можете получить текст из представления, создать объект URI
Uri uri = Uri.create(view.getText().toString());
Затем с uri.somemethod Вы должны иметь возможность получить все о URL-адресе, который хотите узнать. Если uri не удается создать, вы генерируете сообщения об ошибках, потому что что-то пошло не так.
Попробуй это
String a = "http://"; webview.loadUrl(a + url.getText().toString());