Я новичок в студии android. Я пытался создать игру в пинг-понг, поэтому я начал тестировать свою программу, установив в представлении содержимого объект класса pong и попытался установить цвет поверхности. но как только я запускаю программу на своем телефоне, приложение запускается в режиме разделения se c, показывая белый экран, а затем закрывается само. пожалуйста, помогите мне с этим
package com.example.pong;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Point;
import android.os.Bundle;
import android.view.Display;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//creating object of Pong class
Pong pongObj;
Display display;
//getting the resolution of the screen
display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
//passing those resolution to the create a surface which would be be needed to drawn upon
pongObj = new Pong(this,size.x,size.y);
setContentView(pongObj);
}
}
Pong class
package com.example.pong;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class Pong extends SurfaceView{
private final SurfaceHolder SurfaceHolder;
private Canvas myCanvas;
private Paint myPaint;
public Pong(Context context,int x,int y)
{
super(context);
SurfaceHolder = getHolder();
myCanvas.drawColor(Color.argb(0,0,0,255));
}
}
Вот окно входа, я не могу понять ошибку, помогите пожалуйста мне с этим
2020-05-28 05:31:27.477 8238-8238/com.example.pong E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.pong, PID: 8238
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.pong/com.example.pong.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Canvas.drawColor(int)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2723)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6238)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.graphics.Canvas.drawColor(int)' on a null object reference
at com.example.pong.Pong.<init>(Pong.java:19)
at com.example.pong.MainActivity.onCreate(MainActivity.java:26)
at android.app.Activity.performCreate(Activity.java:6857)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2676)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2784)
at android.app.ActivityThread.-wrap12(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1523)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6238)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:933)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
2020-05-28 05:31:27.513 8238-8238/com.example.pong I/Process: Sending signal. PID: 8238 SIG: 9