当前位置: 代码迷 >> Android >> NullPointerException 的异常?
  详细解决方案

NullPointerException 的异常?

热度:70   发布时间:2016-04-28 07:21:20.0
NullPointerException 的错误??
运行到paint.setColor(Color.BLUE);的时候报NullPointerException的错了!求解?

public class MyView extends View{

Paint paint;

public MyView(Context context){
super(context);
paint.setColor(Color.BLUE);
paint.setTextSize(20);
paint.setAntiAlias(true);
}

protected void onDraw(Canvas canvas){
super.onDraw(canvas);
canvas.drawColor(Color.GRAY);
canvas.drawRect(10, 10, 110, 110, paint);
canvas.drawText("what the fuck", 60, 170, paint);



}

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);

MyView myView = new MyView(this);
     this.setContentView(myView);
}

}

11-15 14:58:54.372: E/AndroidRuntime(508): FATAL EXCEPTION: main
11-15 14:58:54.372: E/AndroidRuntime(508): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.myview/com.example.myview.MainActivity}: java.lang.NullPointerException
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.app.ActivityThread.access$1500(ActivityThread.java:117)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.os.Handler.dispatchMessage(Handler.java:99)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.os.Looper.loop(Looper.java:123)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.app.ActivityThread.main(ActivityThread.java:3683)
11-15 14:58:54.372: E/AndroidRuntime(508):  at java.lang.reflect.Method.invokeNative(Native Method)
11-15 14:58:54.372: E/AndroidRuntime(508):  at java.lang.reflect.Method.invoke(Method.java:507)
11-15 14:58:54.372: E/AndroidRuntime(508):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
11-15 14:58:54.372: E/AndroidRuntime(508):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
11-15 14:58:54.372: E/AndroidRuntime(508):  at dalvik.system.NativeStart.main(Native Method)
11-15 14:58:54.372: E/AndroidRuntime(508): Caused by: java.lang.NullPointerException
11-15 14:58:54.372: E/AndroidRuntime(508):  at com.example.myview.MyView.<init>(MyView.java:15)
11-15 14:58:54.372: E/AndroidRuntime(508):  at com.example.myview.MainActivity.onCreate(MainActivity.java:14)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-15 14:58:54.372: E/AndroidRuntime(508):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
11-15 14:58:54.372: E/AndroidRuntime(508):  ... 11 more
setColor NullPointerException

------解决方案--------------------
你的paint  空,你得paint = new Paint();
  相关解决方案