2012-07-04 9 views
9

Mam aplikację na Androida, która zawiera WebView, i chcę wyświetlić w niej nie stronę internetową, ale tylko div z tej strony. Powinienem wspomnieć, że nie mam dostępu do tej strony.Załaduj div do widoku internetowego na Androida

Dziękujemy!

+0

Czy istnieją jakiekolwiek odpowiedzi, które nie zawierają, "użyj tej biblioteki"? Wydaje się takim przesadą zaimportować całą bibliotekę, aby wykonać trochę przycinania. –

Odpowiedz

14

Polecam Jsoup. Jest większy niż tagsoup, ale zapewnia wbudowaną funkcjonalność do wyciągania kodu HTML z adresu URL i jest bardzo łatwy w użyciu. Na przykład, jeśli chcesz ciągnąć div z id example byłoby wykonać następujące czynności:

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

Następnie załadować HTML już wyodrębnione w widoku internetowej byś zrobił:

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

to działa, otrzymuję kod HTML, ale strona internetowa jest niedostępna w widoku webowym – maephisto

+0

Nie mogę ci dać zbyt wiele bez dodatkowych informacji. Jeśli otrzymujesz kod HTML, prawdopodobnie jest to poprawny URL. Czy jesteś pewien, że robisz 'loadData()', a nie 'loadUrl()' i czy próbowałeś wyprowadzić kod HTML, aby zobaczyć, co to jest? – alexgophermix

+0

Udało mi się uruchomić go po użyciu loadDataWithBaseURL. Dzięki! – maephisto

2

Musisz samodzielnie załadować HTML strony, wyodrębnić zawartość div i przekazać ją do WebView jako ciąg znaków. Może się przydać przydatna do tego biblioteka analizatora HTML (na przykład tagsoup).

+0

Dziękujemy! czy mógłbyś podać przykład takiego podejścia? – maephisto

Powiązane problemy