简体   繁体   English

Splash中的java.lang.NullPointerException-Android Eclipse

[英]java.lang.NullPointerException in Splash - Android Eclipse

I've done the Splash screen in Android and it was already successful, but when I run it again today It already give me an error. 我已经在Android中完成了启动画面,它已经成功了,但是当我今天再次运行它时,已经给我一个错误。 I don't even know why it happened, I never changed anything in my code. 我什至不知道为什么会这样,我从未更改代码。 Please help me. 请帮我。 Thanks. 谢谢。

Splash activity 飞溅活动

public class Splash extends Activity{

private WebView mWebView;
    @Override

    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);


        mWebView = (WebView)findViewById(R.id.splash_webview);
        WebViewSet.settings(mWebView);

        mWebView.setBackgroundColor(Color.argb(1, 0, 0, 0));
        mWebView.loadUrl("file:///android_asset/splash.swf");


        Thread timer = new Thread(){
            public void run(){
                try{
                    sleep(16500);
                }catch(InterruptedException e){
                    e.printStackTrace();
                }finally{
                    Intent openMainActivity = new Intent ("jackpal.androidterm.MAINACTIVITY");
                    startActivity(openMainActivity);

                }
            }
        };
        timer.start();

    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        finish();
    }

}

WebViewSet class WebViewSet类

public class WebViewSet {
public static void settings(WebView view) {
    WebSettings s = view.getSettings();
    s.setJavaScriptEnabled(true);
    s.setPluginState(PluginState.ON);
    s.setTextZoom(100);
}
}

xml XML

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
 >

<WebView
android:id="@+id/splash_webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"

/>

</LinearLayout>

Here is my logcat 这是我的日志

01-28 09:53:32.139: E/Trace(14641): error opening trace file: No such file or directory (2)
01-28 09:53:32.752: E/AndroidRuntime(14641): FATAL EXCEPTION: main
01-28 09:53:32.752: E/AndroidRuntime(14641): java.lang.RuntimeException: Unable to start activity ComponentInfo{jackpal.androidterm/jackpal.androidterm.Splash}: java.lang.NullPointerException
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2234)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.ActivityThread.access$600(ActivityThread.java:181)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1332)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.os.Handler.dispatchMessage(Handler.java:99)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.os.Looper.loop(Looper.java:153)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.ActivityThread.main(ActivityThread.java:5042)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at java.lang.reflect.Method.invokeNative(Native Method)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at java.lang.reflect.Method.invoke(Method.java:511)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:821)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:584)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at dalvik.system.NativeStart.main(Native Method)
01-28 09:53:32.752: E/AndroidRuntime(14641): Caused by: java.lang.NullPointerException
01-28 09:53:32.752: E/AndroidRuntime(14641):    at jackpal.androidterm.WebViewSet.settings(WebViewSet.java:12)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at jackpal.androidterm.Splash.onCreate(Splash.java:22)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.Activity.performCreate(Activity.java:5020)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
01-28 09:53:32.752: E/AndroidRuntime(14641):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2198)
01-28 09:53:32.752: E/AndroidRuntime(14641):    ... 11 more
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash);
    mWebView = (WebView)findViewById(R.id.splash_webview);
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setPluginState(PluginState.ON); // deprecated 18+
    mWebView.getSettings().setTextZoom(100); // this is not really needed, unless you change to diff number
    mWebView.setBackgroundColor(Color.argb(1, 0, 0, 0));
    mWebView.loadUrl("file:///android_asset/splash.swf");

these 3 lines should not be a pain when re-writing them 重写它们时,这三行应该不会太痛苦

WebViewSet.settings(mWebView);

public static void settings(WebView view) {
    WebSettings s = view.getSettings();
    s.setJavaScriptEnabled(true);
    s.setPluginState(PluginState.ON);
    s.setTextZoom(100);
}

it seems mWebView is null, check it? 似乎mWebView为null,检查吗?

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

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