[英]WebView not Loading Data?
我正在嘗試使用WebView從rss feed加載解析的html數據,但webview聲稱該頁面:
“data:text / html; utf-8,[我試圖顯示的html]”
不可用。
我覺得奇怪的是,當我只是希望它顯示它時,它似乎將html數據放入url。
這是我現在為webview的代碼:
Bundle data = getIntent().getExtras();
WebView webview = new WebView(this);
setContentView(webview);
webview.loadData(data.getString("DEFAULTTEXT"), "text/html", "utf-8");
HTML已在Bundle中的字符串中傳遞,標識符為:DEFAULTTEXT。 我已經測試了這個類,並且HTML傳遞得很好,它只是沒有正確顯示。
它在我試過的一些網頁上工作得很好,但其他網頁卻沒有。 我將嘗試發布一個有效的代碼和一個無代碼的代碼。
Huuu ....所以我今天早上打開電腦,工作得很好。 我還是不知道問題是什么。 :/
編輯:沒關系。 它適用於我試圖顯示的一些頁面,但不是所有頁面。
Edit2:交換出來為loadDataWithBaseURL工作就像一個魅力。
如上所述,當你的HTML中有'%','\\','#'等字符時,需要對其進行轉義,而loadData似乎並不會自動執行。
loadDataWithBaseURL而不是loadData確實轉義,似乎解決了這個問題。 只需對baseUrl和historyUrl使用null。 所以問題中的示例代碼更改為:
Bundle data = getIntent().getExtras();
WebView webview = new WebView(this);
setContentView(webview);
webview.loadDataWithBaseURL(null,data.getString("DEFAULTTEXT"), "text/html", "utf-8",null);
我相信loadData *的這種零星行為是因為您嘗試加載的頁面內容是什么。 如果它是簡單的html它沒有問題。 但如果它有像css或其他需要外部信息的功能的組件,它將會紓困。 我的經驗!
您確定您在manifest.xml中定義了正確的權限嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.