2012-07-04 27 views
9

Tôi có một ứng dụng Android, có chứa một WebView, và tôi muốn hiển thị trong đó không phải là một trang web, nhưng chỉ có một div từ trang web đó. Tôi nên đề cập đến rằng tôi không có quyền truy cập vào trang đó.Tải một div vào một webview trên Android

Cảm ơn bạn!

+0

Có bất kỳ câu trả lời nào không bao gồm, "sử dụng thư viện này"? Có vẻ như quá mức cần thiết để nhập toàn bộ thư viện để làm một chút trang trí. –

Trả lời

14

Tôi muốn giới thiệu Jsoup. Nó lớn hơn tagoup nhưng cung cấp chức năng sẵn có để kéo HTML từ URL và siêu dễ sử dụng. Ví dụ, nếu bạn muốn kéo một div với id example bạn sẽ làm như sau:

Document doc = Jsoup.connect(url).get(); 
Elements ele = doc.select("div#example"); 

Sau đó, để nạp HTML mà bạn đã trích vào xem web của bạn, bạn sẽ làm gì:

String html = ele.toString(); 
String mime = "text/html"; 
String encoding = "utf-8"; 
webView.loadData(html, mime, encoding); 
+0

công trình này, tôi nhận được html, nhưng tôi nhận được trang web không có sẵn trong webview – maephisto

+0

Tôi thực sự không thể cung cấp cho bạn nhiều mà không có thêm thông tin. Nếu bạn đang nhận được HTML thì đó có thể là một URL hợp lệ. Bạn có chắc là bạn đang làm 'loadData()' chứ không phải 'loadUrl()', và bạn đã thử xuất HTML để xem nó là gì chưa? – alexgophermix

+0

Tôi đã quản lý để làm cho nó hoạt động sau khi sử dụng loadDataWithBaseURL. Cảm ơn! – maephisto

2

Bạn sẽ cần tự tải HTML của trang, trích xuất nội dung div và chuyển nó vào WebView dưới dạng chuỗi. Bạn có thể tìm thấy thư viện trình phân tích cú pháp HTML (ví dụ: tagsoup) hữu ích cho việc này.

+0

Cảm ơn bạn! bạn có thể đưa ra một số ví dụ về phương pháp này không? – maephisto