2016-03-26 9 views
-1

nach dem Implementieren eines WebView-Clients meine Anwendung weiterhin empfangen "Leider" Meine App "wurde gestoppt" nach dem Ausführen der App. Das ist mein maniefestMeine Anwendung erhält weiterhin "Leider" Meine App "hat nach dem Ausführen der App"

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

Wie Sie Ich habe bereits die Internet-Berechtigungen

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

} 
implementiert sehen

So könnte jemand mir bitte erklären, was mit meinem Manifest oder Haupttätigkeit ist falsch. Meine App wurde ausgeführt, bevor ich einen WebView-Client in meine App implementierte, um die Links in meiner App zu öffnen. Vielen Dank!

+2

Fügen Sie Ihren Logcat hinzu. – KDeogharkar

+0

Warum Sie findview zweimal Fehlerprotokoll einfügen und private Webview entfernen ....? –

+0

bitte markieren Sie die nützliche Antwort als Antwort. –

Antwort

0

Remove Linie

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

nach

public class MainActivity extends Activity 

Wann immer Sie wollen etwas initialisieren, stellen Sie sicher, initialisieren sie nach setContentView. Ihr Problem ist, dass Sie die webView zweimal initialisiert haben, die erste, die Sie nach public class MainActivity extends Activity initialisiert haben, daher erhalten Sie Fehler.

+1

Danke! Das funktionierte meine App läuft jetzt einwandfrei! – Mike

+0

Herzlichen Glückwunsch :) –

+0

Könnten Sie bitte erklären, warum die Deklaration einer privaten Methode nach meinem Kurs die Anwendung zum Absturz brachte – Mike

2

setzen Sie diese Zeile in auf erstellen, nachdem 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); 

}

1

Objekt von webview vor onCreate erstellen().

private WebView mWebView; 

dann initialisiertes Webview-Objekt nach setContentView.

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

Diese Linie in onCreateView() Sie gehen falsch mit findiview out of scope

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

Sie tun müssen, um es wie folgt

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

In dieser Zeile

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

Welches ist über dem on Erstellen Sie, indem Sie versuchen, die Webansicht zu instanziieren, noch bevor die Ansicht mithilfe der setContent-Ansicht festgelegt wurde, sodass Sie eine Nullzeigerausnahme erhalten. Bitte entfernen Sie es. Es wird klappen.