2013-09-24 109 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

相關問題