2013-09-24 80 views
0

我正在尝试使用搜索词加载webview。所以,说在搜索框中输入的searchterm是“abcnews” 它会加载的网址 (http://server.com/something/“+ searchterm +”%20something)为(http://server.com/something/abcnews/something) 但假设如果searchterm不存在,说我加载类似“什么“,其中http://server.com/something/whatever/something无效我希望页面重定向到我的应用内的另一个页面(比如相关搜索视图)。我如何去做同样的事情? 这是我迄今同一代码: 在searchtermfragment:如何在加载url之前检查webview searchterm是否有效?

 if((searchTerm.contains(mSearchView.getText().toString().toLowerCase() + " " + mSearchView.getText().toString().toLowerCase())))){ 

      WebViewFragment frag = WebViewFragment.newInstanceForSearch(getFragmentManager(), searchTerm, null); 
      frag.setSearchTerms(searchTerm); 

    } 
    else 
    { 
      RelatedSearchResultsFragment.newInstance(getFragmentManager(), searchTerm); 
    } 
} 

,并在搜索的WebView I类有:

if (environmentApi.equalsIgnoreCase(NetworkUtils.Apis.first)) { 

      url = "https://mobile13.com/ms.0/fwd/service/v1/?q="+SearchTerm+"%20revenue&ui.theme=novadark&userAgent=android"; 

     } 

,并在oncreateview我已经设置了webview.loadurl(url); 我不是确定我在哪里或如何验证searchterm,以便在搜索词无效的情况下获得相应的片段(因为url不会在输入无效搜索词时切换)。关于如何执行相同操作的任何线索?

回答

0

我想建议您在搜索时抓住html响应,然后解析结果,如果返回正确的值(搜索项有效),转到webview,如果它无效(搜索项未找到,相关搜索),转到其他活动。

您可能需要使用httpURLconnection或其他方法来获取html响应。

这里的算法:

  1. 用户输入搜索项
  2. 的OnClick /确认,查询的网址有效性
  3. 要检查的有效性,首先你需要抓住从URL的HTML响应
  4. 接下来,解析结果,搜索显示它是“有效”搜索的值
  5. 如果有效,请转到webview,如果它无效,请转到其他视图。

希望这会有所帮助,祝你好运

里德

+0

您可以通过编程解释,我不知道如何去它 –

+0

这是获得HTTP响应(步骤3):HTTP:// stackoverflow.com/questions/5769717/how-can-i-get-an-http-response-body-as-a-string-in-java 解析响应(第4步):http:// stackoverflow。 com/questions/7830972/jsoup-parsing-html 如果有效,请在webview中调用url,如果无效,请转至其他视图 – reidzeibel

相关问题