我正在尝试使用GLSurface来显示自定义视图。
我的XML文件:
我的主要内容
奇怪的是,我没有对SurfaceView对象进行任何操作,但它仍然导致崩溃:
java.lang.NullPointerException: 尝试在空对象引用上调用虚拟方法'void android.opengl.GLSurfaceView$GLThread.surfaceCreated()' at android.opengl.GLSurfaceView.surfaceCreated(GLSurfaceView.java:524)
我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="net.letsense.matrixtest.MainActivity">
<android.opengl.GLSurfaceView
android:layout_width="300dp"
android:layout_height="300dp"
android:id="@+id/my_surface_view"
/>
</android.support.constraint.ConstraintLayout>
我的主要内容
package net.letsense.matrixtest;
import android.app.Activity;
import android.opengl.GLSurfaceView;
import android.os.Bundle;
/**
* Created by borislegovic on 03/11/2017.
*/
public class Main extends Activity {
private int mPositionHandle;
private int mColorHandle;
private GLSurfaceView mGLView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Create a GLSurfaceView instance and set it
// as the ContentView for this Activity.
// mGLView = new MyGLSurfaceView(this);
// mGLView = findViewById(R.id.my_surface_view);
//mGLView.setEGLContextClientVersion(2);
// mGLView = new MyGLSurfaceView(this);
// setContentView(mGLView);
}
@Override
protected void onPause() {
// The following call pauses the rendering thread.
// If your OpenGL application is memory intensive,
// you should consider de-allocating objects that
// consume significant memory here.
super.onPause();
// mGLView.onPause();
}
@Override
protected void onResume() {
// The following call resumes a paused rendering thread.
// If you de-allocated graphic objects for onPause()
// this is a good place to re-allocate them.
super.onResume();
// mGLView.onResume();
}
}
奇怪的是,我没有对SurfaceView对象进行任何操作,但它仍然导致崩溃:
java.lang.NullPointerException: 尝试在空对象引用上调用虚拟方法'void android.opengl.GLSurfaceView$GLThread.surfaceCreated()' at android.opengl.GLSurfaceView.surfaceCreated(GLSurfaceView.java:524)