我有这个错误,我不知道为什么!
04-28 09:26:55.935:E / AndroidRuntime(1437):致命异常:主
04-28 09:26:55.935:E / AndroidRuntime(1437):流程: com.neurondigital.HighwaySpeed,PID:1437
04-28 09:26:55.935:E / AndroidRuntime(1437): java.lang.RuntimeException:无法启动活动 ComponentInfo {com.neurondigital.HighwaySpeed / com.neurondigital.HighwaySpeed.HighwaySpeed}: 显示java.lang.NullPointerException
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.ActivityThread.access $ 800(ActivityThread.java:135)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.os.Handler.dispatchMessage(Handler.java:102)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.os.Looper.loop(Looper.java:136)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.ActivityThread.main(ActivityThread.java:5017)
04-28 09:26:55.935:E / AndroidRuntime(1437):at java.lang.reflect.Method.invokeNative(Native Method)
04-28 09:26:55.935:E / AndroidRuntime(1437):at java.lang.reflect.Method.invoke(Method.java:515)
04-28 09:26:55.935:E / AndroidRuntime(1437):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)
04-28 09:26:55.935:E / AndroidRuntime(1437):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
04-28 09:26:55.935:E / AndroidRuntime(1437):at dalvik.system.NativeStart.main(原生方法)
04-28 09:26:55.935:E / AndroidRuntime(1437):引起: 显示java.lang.NullPointerException
04-28 09:26:55.935:E / AndroidRuntime(1437):at com.neurondigital.HighwaySpeed.HighwaySpeed.onCreate(HighwaySpeed.java:40)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.Activity.performCreate(Activity.java:5231)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
04-28 09:26:55.935:E / AndroidRuntime(1437):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
04-28 09:26:55.935:E / AndroidRuntime(1437):... 11更多
这是代码:
import android.app.Activity;
import android.content.Context;
import android.content.pm.ActivityInfo;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.PowerManager.WakeLock;
import android.view.Display;
import android.view.KeyEvent;
import android.view.Window;
import android.view.WindowManager;
import android.widget.RelativeLayout;
import android.widget.RelativeLayout.LayoutParams;
public class HighwaySpeed extends Activity {
Surface view;
WakeLock WL;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//full screen
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//wake-lock
PowerManager PM = (PowerManager)getSystemService(Context.POWER_SERVICE);
WL = PM.newWakeLock(PowerManager.FULL_WAKE_LOCK, "Graphics");
WL.acquire();
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int rotation = display.getRotation();
if(rotation == 0)
view.default_lanscape = true;
if(rotation == 180)
view.default_lanscape = true;
if(rotation == 90)
view.default_lanscape = false;
if(rotation == 270)
view.default_lanscape = false;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
super.onKeyDown(keyCode, event);
if(keyCode == KeyEvent.KEYCODE_BACK){
view.back();
return false;
}
return false;
}
protected void onPause(){
super.onPause();
view.pause();
WL.release();
}
protected void onResume(){
super.onResume();
view.resume();
WL.acquire();
}
@Override
protected void onDestroy() {
super.onDestroy();
WL.release();
}
}
答案 0 :(得分:0)
在HighwaySpeed.java:40,有一个NullPointerException
如果附上代码,则很容易解决问题。
编辑:
您必须在view = new SurfaceView(this);
方法的开头编写onCreate
以避免NullPointerException。
主要问题是你没有初始化变量,但代码中还有其他错误,例如,类Surface没有default_lanscape属性,你正试图在{{1}中初始化它}