2016-06-29 53 views
0

我想顯示一些文字(標題和正文)從URL使用JSoupTextView定位在Fragment內。我正在測試這個在我的設備上。沒有應用程序崩潰。但是,TextView是空白的。我錯過了什麼嗎?JSoup顯示一個空的TextView

我嘗試使用此代碼片段裏面

Document doc = null; 
    try { 
     doc = Jsoup.connect("http://qz.com/719792/india-is-slowly-cleaving-into-two-countries-the-old-and-the-young/").get(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    if (doc != null) { 
     titleFWP.setText(doc.title()); //display title 
     contentFWP.setText(doc.getElementsByTag("body").text()); //display body 
    } 

titleFWPcontentFWP在兩個textViews使用Butterknife

注射的

問候

回答

1

我跑代碼中的java的控制檯上並且每件事都看起來不錯,所以我懷疑你必須設置userAgent字符串來匹配非移動瀏覽器:

doc = Jsoup.connect("http://qz.com/719792/india-is-slowly-cleaving-into-two-countries-the-old-and-the-young/") 
     .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:47.0) Gecko/20100101 Firefox/47.0")   
     .get(); 

某些服務器將不同的頁面返回到不同的瀏覽器。由於您沒有自己設置userAgent字符串,因此請求將以某個默認字符串的形式發送,您將得到一個不同的頁面,然後您可以期待。

編輯:userAgent字符串應該是雙引號之間,當然...

+0

我很抱歉。但textView仍然是空白的。沒有任何崩潰。這與Async有什麼關係(因爲代碼目前在UI線程中運行)? – Traveller

+0

1.在UI線程中運行 - 通常如果您將UI阻塞幾秒鐘,應用程序會崩潰,因此無論如何您都會將其移至AsyncTask。 2.檢查'get'請求是否返回。試試這個 - 'if(doc!= null)Log.d(「Myapp」,doc.html()); else Log.d(「Myapp」,「null」);'現在你可以閱讀Logcat並找出問題所在。 – TDG