- package com.example.webviewdemo;
- import android.app.Activity;
- import android.app.AlertDialog;
- import android.content.Context;
- import android.os.Bundle;
- import android.view.View;
- import android.webkit.WebView;
- import android.webkit.WebViewClient;
- import android.widget.Toast;
- public class MainActivity extends Activity {
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- final WebView webview = (WebView) findViewById(R.id.wv);
- webview.setVisibility(View.INVISIBLE);
- webview.getSettings().setJavaScriptEnabled(true);
- webview.addJavascriptInterface(new MyJavaScriptInterface(this), "HtmlViewer");
- webview.setWebViewClient(new WebViewClient() {
- @Override
- public void onPageFinished(WebView view, String url) {
- webview.loadUrl("javascript:window.HtmlViewer.showHTML" +
- "('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
- }
- });
- webview.loadUrl("http://4fuckr.com/image_4246365.htm");
- }
- class MyJavaScriptInterface {
- private Context ctx;
- MyJavaScriptInterface(Context ctx) {
- this.ctx = ctx;
- }
- public void showHTML(String html) {
- /*new AlertDialog.Builder(ctx).setTitle("HTML").setMessage(html)
- .setPositiveButton(android.R.string.ok, null).setCancelable(false).create().show();*/
- getComments(html);
- }
- }
- public int getComments(String html){
- final WebView webview = (WebView) findViewById(R.id.wv);
- int pos1=0;
- int pos2=0;
- String comments="";
- pos1=html.indexOf("<div id=\"comment-show\">");
- pos2=html.indexOf("<script type=\"text/javascript\">",pos1);
- if(pos1==-1||pos2==-1||pos1==0||pos2==0){
- Toast msg = Toast.makeText(getBaseContext(),
- "Error - can´t load/find comments",
- Toast.LENGTH_SHORT);
- msg.show();
- return -1;
- }
- comments=html.substring(pos1,pos2);
- webview.clearView();
- webview.loadData(comments, "text/html", "UTF-8");
- return 0;
- }
- }