title: how to get html content from a webview?
body: <p>Which is the simplest method to get html code from a webview?
  I have tried several methods from stackoverflow and google, but can't find an exact method. Please mention an exact way.</p>
  
  <pre><code>public class htmldecoder extends Activity implements OnClickListener,TextWatcher
  {
  TextView txturl;
  Button btgo;
  WebView wvbrowser;
  TextView txtcode;
  ImageButton btcode;
  LinearLayout llayout;
  int flagbtcode;
  public void onCreate(Bundle savedInstanceState)
  {
              super.onCreate(savedInstanceState);
                  setContentView(R.layout.htmldecoder);
  
      txturl=(TextView)findViewById(R.id.txturl);
  
      btgo=(Button)findViewById(R.id.btgo);
      btgo.setOnClickListener(this);
  
      wvbrowser=(WebView)findViewById(R.id.wvbrowser);
      wvbrowser.setWebViewClient(new HelloWebViewClient());
      wvbrowser.getSettings().setJavaScriptEnabled(true);
      wvbrowser.getSettings().setPluginsEnabled(true);
      wvbrowser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
      wvbrowser.addJavascriptInterface(new MyJavaScriptInterface(),"HTMLOUT");
      //wvbrowser.loadUrl("http://www.google.com");
      wvbrowser.loadUrl("javascript:window.HTMLOUT.showHTML('&lt;html&gt;'+document.getElementsByTagName('html')[0].innerHTML+'&lt;/html&gt;');");
  
  
      txtcode=(TextView)findViewById(R.id.txtcode);
      txtcode.addTextChangedListener(this);
  
      btcode=(ImageButton)findViewById(R.id.btcode);
      btcode.setOnClickListener(this);
  
      }
  
  public void onClick(View v)
  {
      if(btgo==v)
      {
          String url=txturl.getText().toString();
          if(!txturl.getText().toString().contains("http://"))
          {
              url="http://"+url;
          }
          wvbrowser.loadUrl(url);
          //wvbrowser.loadData("&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;&lt;div style='width:100px;height:100px;border:1px red solid;'&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;","text/html","utf-8");
      }
      else if(btcode==v)
      {
          ViewGroup.LayoutParams params1=wvbrowser.getLayoutParams();
          ViewGroup.LayoutParams params2=txtcode.getLayoutParams();
          if(flagbtcode==1)
          {
              params1.height=200;
              params2.height=220;
              flagbtcode=0;
              //txtcode.setText(wvbrowser.getContentDescription());
          }
          else
          {
              params1.height=420;
              params2.height=0;
              flagbtcode=1;
          }
          wvbrowser.setLayoutParams(params1);
          txtcode.setLayoutParams(params2);
  
      }
  }
  
  public class HelloWebViewClient extends WebViewClient {
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, String url) {
  
          view.loadUrl(url);
          return true;
      }
      /*@Override
      public void onPageFinished(WebView view, String url)
      {
          // This call inject JavaScript into the page which just finished loading. 
          wvbrowser.loadUrl("javascript:window.HTMLOUT.processHTML('&lt;head&gt;'+document.getElementsByTagName('html')[0].innerHTML+'&lt;/head&gt;');");
      }*/
  
  }
  class MyJavaScriptInterface
  {
      @SuppressWarnings("unused")
      public void showHTML(String html)
      {
  
          txtcode.setText(html);
      }
  }
  
  public void afterTextChanged(Editable s) {
      // TODO Auto-generated method stub
  
  }
  
  public void beforeTextChanged(CharSequence s, int start, int count,
          int after) {
      // TODO Auto-generated method stub
  
  }
  
  public void onTextChanged(CharSequence s, int start, int before, int count) {
      wvbrowser.loadData("&lt;html&gt;&lt;div"+txtcode.getText().toString()+"&gt;&lt;/div&gt;&lt;/html&gt;","text/html","utf-8");
  
  }
  
  }
  </code></pre>