繁体   English   中英

运行应用程序后,我的应用程序不断收到“不幸的是,“我的应用程序”已停止”

[英]my application keeps receiving “Unfortunately ”My App“ has stopped” after Running the app

实施WebView Client后,我的应用程序在运行应用程序后继续收到“不幸的是,“我的应用程序”已停止”。 这是我最大的遗憾

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

如您所见,我已经实现了Internet权限

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

}

所以有人可以告诉我清单或主要活动出了什么问题。 在将WebView客户端实现到应用程序中以处理应用程序中的打开链接之前,我的应用程序已运行。 谢谢!

将这行放在setContentView之后的create上

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

在这条线

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

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

将此行放入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); 

 public class MainActivity extends Activity

每当您要初始化某些内容时,请确保在setContentView之后对其进行初始化 您的问题是您两次初始化了webView ,第一个是在public class MainActivity extends Activity之后初始化的,因此您将得到nullpointerException错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM