私は自分のウェブサイトを表示したいが、div要素が少ないアプリで作業している。Android WebView Jsoup
このサンプルコードでは、stackoverflow.comのWebサイトを使用し、divクラスhmenus(メインWebサイトの上部にあるボタン)を非表示にしました。
コードを実行した後、空白/白のWebビューが表示されます。私が試みたのは、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、encoding); –
質問を編集して、今使用しているコードを追加できますか? – TDG