【问题标题】:How to set up editText to display search result in webView, when no URL is entered未输入 URL 时,如何设置 editText 在 webView 中显示搜索结果
【发布时间】:2020-07-09 21:11:42
【问题描述】:

不久前,我将这个 android webView 项目作为我的第一个 android studio 项目开始,我对它的速度很慢,并且一直在一点一点地添加功能。 现在我想把这个项目开发成一个值得 Play 商店发布的网络浏览器。

我在我的风格中没有选择任何操作栏,我正在使用 editText 来加载 URL,但是当输入不是 URL 的文本时,它会出错。

所以,我想通过在编辑文本中没有输入 URL 而是常规文本时启用搜索功能来解决这个问题 即目前在 editText google.com facebook.com 或任何 URL 加载,但在编辑文本中键入 facebook、news 等显示错误 "WEB PAGE NOT AVAILABLE 无法加载网页 https://google/,因为 net:: ERR_NAME_NOT_RESOLVED"

我想解决这个问题,在这种情况下启用谷歌搜索或任何其他搜索引擎。

我确实希望我的问题易于理解且非常详细?

【问题讨论】:

    标签: android-studio browser webview android-edittext search-engine


    【解决方案1】:

    欢迎加入堆栈

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

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

    所以当用户输入文本时,你必须检查这是否是 url

    • 所以如果是 URL 并且将返回 true,只需将其传递给 web 视图

    • 如果不是,则返回 false,并将其作为 query 字样传递给 google,然后在 web 视图中显示

    您可以通过此代码检查字符串是否为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 
    

    希望对你有帮助

    【讨论】:

    • 谢谢...我已经做到了,在这里看到了一个帖子。
    猜你喜欢
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多