2013-03-06 7 views
1

Comment charger du code html dans webview?Comment charger du code html dans webview?

Je veux envoyer un code HTML de MainActivity à un WebViewActivity qui ont une mise en page WebView, je veux obtenir le code HTML et affichage sur webview comme une page HTML. Mon code HTML est:

<p><span style=\"font-size: 12pt;\">Sample text<\/span><\/p>\r\n<p><span style=\"font-size: 14pt; color: #00ffff;\">Sample text<\/span><\/p>\r\n<p><span style=\"font-size: 36pt; color: #99cc00;\">Sample text<\/span><\/p>\r\n<p><span style=\"font-size: 36pt; color: #ff0000;\">Sample text<\/span><\/p>\r\n<p>&nbsp;<\/p> 

Et Mon WebViewActivity est:

String value; 
private WebView webView; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    value = getIntent().getStringExtra(MY_EXTRA); 
    Log.w(MY_EXTRA, "Data recieved is >> " + value); 

    setContentView(R.layout.webview); 
    this.getIntent().putExtra("loadUrlTimeoutValue", 60);  

    webView = (WebView) findViewById(R.id.webView1); 

    webView.setWebViewClient(new WebViewClient() { 

     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) {    

      view.loadData(value, "text/html", null); 
      return true; 
     } 
    }); 

    new getData().execute(null, null, null); 

} 


private class getData extends AsyncTask<Void, Void, Void> { 

    @Override 
    protected void onPreExecute() { 
     super.onPreExecute(); 
     webView.getSettings().setDomStorageEnabled(true); 
    } 

    @SuppressLint("SetJavaScriptEnabled") 
    @Override 
    protected Void doInBackground(Void... params) { 

     webView.getSettings().setJavaScriptEnabled(true); 
     webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(
       false); 
     webView.getSettings().setSupportMultipleWindows(false); 
     webView.getSettings().setSupportZoom(false); 
     webView.getSettings().setRenderPriority(
       WebSettings.RenderPriority.HIGH); 
     webView.getSettings().setSavePassword(false); 
     webView.setVerticalScrollBarEnabled(false); 
     webView.setHorizontalScrollBarEnabled(false); 
     webView.getSettings().setAppCacheEnabled(true); 
     webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE); 
     webView.getSettings().setAppCacheMaxSize(200); 
     webView.getSettings().setDatabaseEnabled(true); 
     webView.clearCache(true); 
     // webView.clearHistory(); 
     return null; 
    } 

    @Override 
    protected void onPostExecute(Void result) { 
     super.onPostExecute(result); 
     webView.loadUrl(value); 
    } 

} 

Maintenant, je suis incapable de voir les résultats de mon code HTML et mon webview ne montre pas quelque chose. Comment voir mon résultat? N'importe qui!

Répondre

0

Je pense que votre tout le code est correct, mais vous êtes en ligne se méprendre sur webView.loadUrl(value) maintenant définir votre onPostExecute() comme ceci:

@Override 
    protected void onPostExecute(Void result) { 
     super.onPostExecute(result); 
     webView.loadData(value, "text/html", null); 
    } 

cela fonctionne pour moi, l'espoir va travailler pour vous aussi.

+0

Ooops !! c'était seulement une erreur! maintenant ça marche! merci Ada! –

Questions connexes