2017-06-02 101 views
1

編輯:已解決,兩個xml文件「individual_stats.xml」出現在項目中。webview崩潰的活動(Android Studio)

經過在互聯網上的幾件研究,我還沒有找到任何有關我的活動崩潰的解決方案。該活動只包含一個webview。

此外,我是Android Studio新手。

這裏是致命的錯誤:

06-02 22:57:06.255 7618-7618/fr.berwick.smsstats E/AndroidRuntime: FATAL EXCEPTION: main 
                    Process: fr.berwick.smsstats, PID: 7618 
                    java.lang.RuntimeException: Unable to start activity ComponentInfo{fr.berwick.smsstats/fr.berwick.smsstats.IndividualStats}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2659) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724) 
                     at android.app.ActivityThread.-wrap12(ActivityThread.java) 
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473) 
                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                     at android.os.Looper.loop(Looper.java:154) 
                     at android.app.ActivityThread.main(ActivityThread.java:6123) 
                     at java.lang.reflect.Method.invoke(Native Method) 
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757) 
                    Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.webkit.WebSettings android.webkit.WebView.getSettings()' on a null object reference 
                     at fr.berwick.smsstats.IndividualStats.onCreate(IndividualStats.java:19) 
                     at android.app.Activity.performCreate(Activity.java:6672) 
                     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1140) 
                     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2612) 
                     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2724)  
                     at android.app.ActivityThread.-wrap12(ActivityThread.java)  
                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1473)  
                     at android.os.Handler.dispatchMessage(Handler.java:102)  
                     at android.os.Looper.loop(Looper.java:154)  
                     at android.app.ActivityThread.main(ActivityThread.java:6123)  
                     at java.lang.reflect.Method.invoke(Native Method)  
                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)  
                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:757)  

請考慮以下問題:當我的web視圖添加到佈局(拖動),申請ID是空白的,所以我命名的WebView「的WebView」,並補充android:id =「@ + id/WebView」到我的活動xml文件「individual_stats.xml」。

這裏是IndividualStats.java文件中的代碼:

package fr.berwick.smsstats; 

import android.app.Activity; 
import android.os.Bundle; 
import android.webkit.WebView; 

public class IndividualStats extends Activity { 
     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.individual_stats); 

      WebView webview = (WebView) findViewById(R.id.WebView); 
      webview.getSettings().setJavaScriptEnabled(true); 
      webview.loadUrl("https://speeload.com/"); 

     } 
} 

感謝你的幫助,有一個偉大的日子。

回答

0

好吧,我發現了什麼是錯誤的:

我得到了一個名爲「individual_stats.xml」兩個XML文件。 我刪除了它們並創建了一個新的,現在它正在工作。

0

嘗試給你的webview在你的XML更獨特的名字?

+0

我試過名稱「web1」和同樣的問題。 –

0

試試這個:

final WebView webview = (WebView) findViewById(R.id.WebView); 
webview.setWebViewClient(new WebViewClient()); 

WebSettings websetting = webview.getSettings(); 
websetting.setJavaScriptEnabled(true); 
webview.loadUrl("https://speeload.com/"); 
+0

看來我得到了同樣的錯誤,請檢查錯誤日誌:https://pastebin.com/bZdugaMK。 –

+0

嘗試刪除:webview.setWebViewClient(新的WebViewClient()); –

0

面對哪compileSdkVersion和的minSdkVersion你開發?在哪個API上運行你的設備/模擬器?可能是舊的WebKit錯誤。