div 요소가 적은 웹 사이트를 표시하고 싶은 앱을 만들고 있습니다.Android WebView Jsoup
이 예제 코드에서는 stackoverflow.com 웹 사이트를 사용하여 div 클래스 hmenus (기본 웹 사이트 맨 위에있는 버튼)를 숨기려고했습니다.
코드를 실행 한 후에 빈/흰색 웹보기가 표시됩니다. 내가 시도한 String html final을 만들고 나중에 webview에 대한 최종 URL을 설정하기 위해 호출하는 것입니다.
코드 :
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;
import java.io.File;
public class MyCustomAsyncTask extends AsyncTask<File, Void, String> {
@Override
protected String doInBackground(File... params) {
Document doc = Jsoup.connect("http://stackoverflow.com/").get();
Elements ele = doc.select(":not(#hmenus)"); // ->>>>> Jsoup html
final String html = ele.toString();
}}
public class MainActivity extends Activity {
private WebView WebView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView = (WebView) findViewById(webView);
WebView.setWebChromeClient(new WebChromeClient());
WebView.getSettings().setJavaScriptEnabled(true);
WebView.getSettings().setDomStorageEnabled(true);
final String mime = "text/html";
final String encoding = "utf-8";
WebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
// ->>>>>> Change the website --->>> insert call html value
WebView.loadData(html, mime, encoding);
}
});
}
}
가 어떻게 HTML final String html = ele.toString();
의 값을 호출 할 수 있습니다 그것은 WebView.loadData(html, mime, encoding);
캐스팅?
나는 당신이 제안한 코드에 대해 뻔한 소리를 내었습니다. 하지만 그것은 내 초기 문제를 해결하지 않습니다 - 실제 html 값을 호출하고있다 –
제안 된 변경 사항을 구현했습니다. 첫 번째 게시물을 업데이트했습니다. 나는 아직 얻지 못하는 그 지점에있다. - 최종 String html = ele.toString(); 내 WebView.loadData (HTML, MIME, 인코딩); –
질문을 편집하고 지금 사용하고있는 코드를 추가 할 수 있습니까? – TDG