我的应用程序在 运行 之后一直收到 "Unfortunately "我的应用程序“已停止”

my application keeps receiving "Unfortunately "My App" has stopped" after Running the app

实施 WebView 客户端后,我的应用程序在 运行 应用程序后继续收到 "Unfortunately "我的应用程序“已停止”。 这是我的宣言

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="amapps.com.uhss" >
<uses-permission android:name="android.permission.INTERNET"/>
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="UHS Sword And Shield"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="UHS Sword and Shield" >
        android:hardwareAccelerated="false"

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

</application>

如您所见,我已经实现了互联网权限

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends Activity {

private WebView mWebView = (WebView) findViewById(R.id.activity_main_webview);


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(amapps.com.uhss.R.layout.activity_main);
    WebView mWebView = (WebView) findViewById(R.id.activity_main_webview);
    mWebView.setWebViewClient(new WebViewClient());

    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(false);
    mWebView.loadUrl("http://uhsswordandshield.com/");
    mWebView.getSettings().setSupportMultipleWindows(true);

}

有人可以告诉我我的清单或 main activity 有什么问题吗? 在我将 WebView 客户端实现到我的应用程序中以处理我的应用程序中的打开链接之前,我的应用程序是 运行。谢谢!

将此行放在 setContentView 之后创建

private WebView mWebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(amapps.com.uhss.R.layout.activity_main);
     mWebView = (WebView) findViewById(R.id.activity_main_webview);

}

在 onCreate() 之前创建 webview 对象。

private WebView mWebView;

然后在setContentView之后初始化webview对象。

mWebView = (WebView) findViewById(R.id.activity_main_webview);

将此行放入 onCreateView() 中,findiview 超出范围是错误的

private WebView mWebView = (WebView) findViewById(R.id.activity_main_webview);

您必须按照以下步骤进行操作

private WebView;

@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
setContentView(amapps.com.uhss.R.layout.activity_main);
 mWebView = (WebView) findViewById(R.id.activity_main_webview);
}

这一行

private WebView mWebView = (WebView) findViewById(R.id.activity_main_webview);

在 onCreate 之上,您试图在使用 setContent 视图设置视图之前实例化 Web 视图,因此您将收到空指针异常。请删除它。它会起作用。

删除行

private WebView mWebView = (WebView) findViewById(R.id.activity_main_webview); 

之后
 public class MainActivity extends Activity

每当您想初始化某些东西时,确保在 setContentView 之后初始化它们。 你的问题是你初始化了 webView 两次,第一次初始化是在 public class MainActivity extends Activity 之后,因此你会得到 nullpointerException 错误。