如何设置editText以在没有输入URL的情况下在webView中显示搜索结果

问题描述 投票:0回答:1

不久前,我作为我的第一个android studio项目开始了这个android webView项目,我对此很慢,并且一直在逐渐添加功能。现在,我想将该项目开发为值得玩的商店发布的网络浏览器。

我没有用我的样式选择任何操作栏,我已经在使用editText加载URL,但是如果输入的文本不是URL,则会出现错误。

因此,我想通过在编辑文本中未输入URL而不是常规文本时启用搜索功能来解决此问题即当前在editText google.com facebook.com或任何URL中加载,但在编辑文本中键入facebook,新闻等显示错误“无法使用Web页的网页https://google/无法加载,因为net :: ERR_NAME_NOT_RESOLVED”

我想解决此问题,以便在这种情况下启用Google搜索或任何其他搜索引擎。

我希望我的问题是可以理解且详细的吗?

android-studio browser webview android-edittext search-engine
1个回答
0
投票

欢迎使用堆栈

要使用Web View打开URL,您必须传递完整的URL,例如https://stackoverflow.com和/或stackoverflow.com

[当您想通过Facebook或新闻等某些键进行查询时您可以使用Google搜索作为此键的示例,以获取此结果的完整链接

因此,当用户输入文本时,您必须检查是否为url

  • 因此,如果是URL并将返回true,只需将其传递到Web View

  • 如果不是,将返回false,并将其作为query单词传递给google,然后在网络视图上显示

您可以通过此代码检查字符串是否为url,请参考this

   bool isUrl= URLUtil.isValidUrl(text);

    String url;
    if(isUrl)
      url = text;
    else{
      //this url well open in web view as google search
      url = "https://www.google.com/search?q="+text.replace(" ", "%20");
    }

    //now you have url to open in your web view 

我希望这个帮助

© www.soinside.com 2019 - 2024. All rights reserved.