簡體   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