我怎么知道某些文字包含“http:// www”。我想在Web View中显示域。域名是用TextView编写的,但添加前缀没有限制。如果用户没有输入,我必须在webview中添加和显示URL。
答案 0 :(得分:22)
你可以这样做
String url = textView.getText().toString();
if(!url.startsWith("www.")&& !url.startsWith("http://")){
url = "www."+url;
}
if(!url.startsWith("http://")){
url = "http://"+url;
}
您可以使用此网址在WebView中显示内容
希望这能解决您的问题
答案 1 :(得分:4)
刚修改@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;
}
答案 2 :(得分:3)
检查域名格式正确且包含(或不包含)前缀的最有效方法是使用正则表达式。
查看Java Pattern以匹配Android中的正则表达式。这是值得的。
答案 3 :(得分:1)
我只是从TextView获取文本并通过startsWith()解析它。 如果这是错误的,只需将其添加到文本中并使用setText()重新分配它。
您可能还想检查其他表达式,例如" www。"。所以仔细看看contains()。
答案 4 :(得分:1)
正如Sebastien所要求的,正则表达式是一个不错的选择。 您还可以从视图中获取文本,创建URI对象
Uri uri = Uri.create(view.getText().toString());
然后用uri.somemethod 您应该能够获得有关您想要知道的网址的所有信息。 如果uri无法创建,则会生成错误消息,导致出现问题。
答案 5 :(得分:-2)
试试这个
String a = "http://";
webview.loadUrl(a + url.getText().toString());