添加http:// www。在文本中,如果不存在

时间:2012-05-18 09:54:20

标签: android android-webview textview android-textattributes

我怎么知道某些文字包含“http:// www”。我想在Web View中显示域。域名是用TextView编写的,但添加前缀没有限制。如果用户没有输入,我必须在webview中添加和显示URL。

6 个答案:

答案 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());