简单的WebView应用程序不断崩溃

时间:2017-12-11 08:56:35

标签: android webview nullpointerexception

我想要SignatureBase64app内显示browser,但我收到此错误:

  

致命的例外:主要                                                      处理:com.example.name.app,PID:11672                                                      java.lang.RuntimeException:无法实例化活动ComponentInfo {com.example.name.app/com.example.name.app.MainActivity}:java.lang.NullPointerException:尝试调用虚方法'android.view.Window $ Callback关于空对象引用的android.view.Window.getCallback()'

的Manifest.xml

app

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.name.app">
    <uses-permission android:name="android.permission.INTERNET"/>
    <application
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:roundIcon="@drawable/icon"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>



</manifest>

MainActivity.java

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="Click"/>

    <WebView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/webView"
        android:layout_width="fill_parent"
        android:layout_height="match_parent" />

</LinearLayout>

有什么问题?谢谢!

1 个答案:

答案 0 :(得分:1)

您需要使用onCreate()这样的方法绑定您的控件

findViewById

中的onCreate()

试试这个

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

        Button button = (Button) findViewById(R.id.button);
        WebView browser = (WebView) findViewById(R.id.webView);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                browser.setWebViewClient(new WebViewClient());
                browser.getSettings().setLoadsImagesAutomatically(true);
                browser.getSettings().setJavaScriptEnabled(true);
                browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
                browser.loadUrl(url);
            }
        });
    }