Android WebView保持空白

时间:2017-09-02 10:00:03

标签: android webview

我是Android新手,我开始使用基本应用程序(选择API 5.1 /创建的虚拟设备5.1.1 / API22,因为这是我以后在实际使用的内容)只包含一个WebView:

activity_main.xml中

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/container"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    tools:ignore="MergeRootFrame">

    <WebView
        android:id="@+id/activity_main_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</FrameLayout>

但是,无论我在Activity的Java代码中做什么,页面都保持空白。我从SO等尝试了许多tipps,但没有任何效果,所以它一定是我缺少的基本东西?

MainActivity.java

package de.jstest.notes;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final WebView myWebView = (WebView) findViewById(R.id.activity_main_webview);
        WebSettings webSettings = myWebView.getSettings();
        webSettings.setDomStorageEnabled(true); // is this actually needed?
        webSettings.setJavaScriptEnabled(true);
        String summary = "<html><head><title>WebView JS Tester</title></head><body>" +
                "Code<br>" +
                "<textarea id='code'></textarea><br>" +
                "Result<br>" +
                "<textarea id='result'></textarea><br>" +
                "<input type='button' value='Eval' onclick='" +
                "document.getElementById(\"result\").value=eval(document.getElementById(\"code\").value)" +
                "'>" +
                "</body></html>";
        myWebView.loadData(summary, "text/html; charset=utf-8", "utf-8");

        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("WebView 'title' = " + myWebView.getTitle());
        builder.setPositiveButton("Now try a web page...",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                    }
                });
        final AlertDialog dialog = builder.create();
        dialog.show();
        dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    myWebView.loadUrl("https://www.google.de/");
                    dialog.dismiss(); // otherwise, dialog stays open
                }
            }
        );
    }
}

此外,对话框(按钮)无法正常工作(既不是我上面的代码,也不是直接设置点击处理程序的更基本的方法),即应用程序打开(有时使用,有时没有其标题&#34; Notes&#34; ...),并且如上所述,WebView仍为空白;我看到对话框(说网络视图title为空),但点击一个按钮(&#34;现在尝试网页...&#34;)对此无效所有。几次点击后,我问我是否要关闭不响应的应用程序......

请注意,loadDataloadUrl都会产生空白页。为了后者工作,我尝试了

的AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

但这并没有改变任何事情。

0 个答案:

没有答案