java.lang.NullPointerException в Splash - Android Eclipse
Я сделал экран заставки в Android, и он уже был успешным, но когда я запускаю его снова сегодня, он уже выдает мне ошибку. Я даже не знаю, почему это произошло, я никогда ничего не менял в своем коде. Пожалуйста, помогите мне. Благодарю.
Всплеск деятельности
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
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 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>
Вот мой 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
2 ответа
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");
эти 3 строки не должны быть болезненными при переписывании их
WebViewSet.settings(mWebView);
public static void settings(WebView view) {
WebSettings s = view.getSettings();
s.setJavaScriptEnabled(true);
s.setPluginState(PluginState.ON);
s.setTextZoom(100);
}
похоже на то mWebView
это ноль, проверить это?