L'ouverture de nouveaux android activité avec une webview montre un vide (blanc) de l'écran au lieu du contenu html

J'ai cherché pendant 2 jours et je n'ai pas trouvé de problème similaire n'importe où sur internet!

De l'activité principale, je suis en train d'ouvrir une nouvelle activité contenant une webview qui va afficher une page html (about.html) dans le android_asset dossier.

Je suis en mesure de lancer une nouvelle activité (test.java) avec la webview affiche correctement mais le contenu d'une page web n'est tout simplement pas. Même la webview de la barre de défilement verticale est affichée (comme le contenu de la page est relativement long) et je peux faire défiler la page vers le haut et vers le bas, mais sans contenu!

package com.example.test;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.TextView;
public class test extends Activity {
private TextView apppagetitle;
private WebView browser_rn;
@Override
public void onCreate(Bundle saveInstanceState) {
super.onCreate(saveInstanceState);
setContentView(R.layout.test);
browser_rn=(WebView)findViewById(R.id.webkit);
browser_rn.getSettings().setJavaScriptEnabled(true);
browser_rn.getSettings().setPluginsEnabled(true);
browser_rn.setScrollBarStyle(0);       
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
apppagetitle=(TextView)findViewById(R.id.apppagetitle);
browser_rn.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
public void onPageFinished(WebView view, String url) {               
apppagetitle.setText(browser_rn.getTitle());                
}
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
if (!isInternetOn()) {
alertDialog.setTitle("Connection Error");
alertDialog.setMessage("You need to be connected to the internet.");
} else {
alertDialog.setTitle("Error");
alertDialog.setMessage(description);
}
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
return;
}
});
alertDialog.show();
}
});
browser_rn.loadUrl("file:///android_asset/about.html");
}
public boolean onKeyDown(int keyCode, KeyEvent event)  {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
browser_rn.clearCache(true);
browser_rn.clearHistory();
this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}

La chose étrange est que la nouvelle activité (test.java) peuvent réussir à obtenir et afficher la page web de titre dans le textview quand je l'appelle webview.gettitle (), mais le contenu html n'a tout simplement pas rendu dans la webview. Tout ce que je vois est un écran vide avec des barres de défilement. Je soupçonne que c'est le booléen "shouldOverrideUrlLoading" qui pourrait être la cause.

Mise à jour:

Merci pour la réponse.

test.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myapp="http://schemas.android.com/apk/res/com.example.test"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/green"
>
<TextView   
android:id="@+id/apppagetitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:text="Odd News"
android:textSize="25px"
android:padding="10px"
/> 
</LinearLayout>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<WebView  
android:id="@+id/webkit"
android:layout_width="fill_parent" 
android:layout_height="0px"
android:layout_weight="1"
/> 
</LinearLayout>
</LinearLayout>

about.html est aussi simple que ce qui est ci-dessous.

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>About</title> 
</head> 
<body> 
<h3 style="color:#0066dd">About</h3>  
<p>Some text here...</p>
</body> 
</html>

Ah oui, j'ai oublié de mentionner plus tôt avec le même morceau de code, la about.html montre parfois si j'en ai la force d'arrêter et de redémarrer l'application sur mon téléphone. Cependant, il ne serait alors pas apparaître dans les lancements suivants. Lorsqu'il avec succès s'affiche about.html et j'appuie sur le bouton retour pour revenir à l'activité principale, il disparaît à nouveau quand je re-lancement de l'activité à partir de l'activité principale. Je suis perdu mais j'ai un fort sentiment que c'est "shouldOverrideUrlLoading" que je ne suis pas le faire correctement.

  • Quel est le contenu de la about.html et la test.xml?
  • Veuillez choisir une réponse qui a fonctionné pour vous.
InformationsquelleAutor Lost | 2011-01-02