Das Öffnen neuer Android-Aktivitäten mit einer Webansicht zeigt einen leeren (weißen) Bildschirm anstelle des HTML-Inhalts

Recherchiere ich seit 2 Tagen und ich habe nicht gefunden ein ähnliches problem überall im internet!

Aus der Haupttätigkeit, ich versuche, öffnen Sie eine neue Aktivität mit einer webview, die show wird eine html-Seite (about.html) in der android_asset Ordner.

Ich bin in der Lage, starten Sie die neue Aktivität test.java) mit der webview richtig angezeigt, aber die Webseite, die Inhalte einfach nicht angezeigt. Auch die webview vertikale Bildlaufleiste wird angezeigt (der Inhalt der Seite ist relativ lang) und ich kann scrollen Sie die Seite hoch und runter, aber ohne Inhalt!

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);
}
}

Komisch ist, dass die neue Aktivität test.java) kann erfolgreich bekommen und die Webseite anzuzeigen, die Titel in das textview, wenn ich rufe webview.gettitle (), aber der html-Inhalt, der einfach nicht zu Rendern in der Webansicht. Alles, was ich sehe ist ein leerer Bildschirm mit Bildlaufleisten. Ich vermute, es ist der boolean "shouldOverrideUrlLoading", die verursachen könnte es.

Update:

Vielen Dank für die Beantwortung.

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 ist so einfach wie das, was unten ist.

<!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>

Ach ja und ich vergaß zu erwähnen, dass früher, mit dem gleichen Stück code, der about.html würde mal zeigen, wenn ich Kraft-beenden und neu starten der app auf meinem Handy. Allerdings wäre es dann nicht angezeigt, im nachfolgenden Starts. Bei Gelegenheiten, wenn es erfolgreich zeigt sich about.html und ich drücken Sie die zurück-Taste um zurück in das Hauptmenü Aktivität, es wird wieder verschwinden, wenn ich Sie wieder starten Sie die Aktivität aus der Haupttätigkeit. Ich bin verloren, aber ich habe ein starkes Gefühl, es ist "shouldOverrideUrlLoading" , ich mache das nicht richtig.

Kommentar zu dem Problem
Was sind die Inhalte der about.html und die test.xml? Kommentarautor: Deepak Singh Rawat
Bitte wählen Sie eine Antwort aus, dass für Sie gearbeitet. Kommentarautor: Erik B

InformationsquelleAutor der Frage Lost | 2011-01-02

Schreibe einen Kommentar