Почему приходит NullPointerException? - PullRequest
0 голосов
/ 16 февраля 2012

Я разрабатываю живые обои openGL, используя jar-файл Robert Green GLWallpaperService.после запуска кода возникает исключение: обои не работают и не рисуют на экране ----

02-16 11:09:31.941: E/AndroidRuntime(6286): FATAL EXCEPTION: GLThread 9
02-16 11:09:31.941: E/AndroidRuntime(6286): java.lang.NullPointerException
02-16 11:09:31.941: E/AndroidRuntime(6286): at com.inoxmobile.waterlwp.WaterLiveWallpaperRenderer.onDrawFrame(WaterLiveWallpaperRenderer.java:152)
02-16 11:09:31.941: E/AndroidRuntime(6286): at    
com.inoxmobile.waterlwp.GLThread.guardedRun(GLWallpaperService.java:683)    
02-16 11:09:31.941: E/AndroidRuntime(6286):at com.inoxmobile.waterlwp.GLThread.run(GLWallpaperService.java:541)

Я использую этот код для этого -----

public void onDrawFrame(GL10 gl)
  {

    if (gl == null)
        return;

    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);    

    gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
    gl.glEnableClientState(GL10.GL_NORMAL_ARRAY);
    gl.glEnableClientState(GL10.GL_TEXTURE_COORD_ARRAY);

    if (usebg) {
        gl.glDepthMask(false);
        mBackground.draw(gl);//Exception come Here..........
        gl.glDepthMask(true);
    }

    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glLoadIdentity();    

    //if (usebg){
        //mBackground.Init(gl);
        //mBackground.setDims(mWidth, mHeight);
    //}
}

1 Ответ

1 голос
/ 28 февраля 2012

Вы уверены, что инициализировали mBackground в onCreate() или конструктор этого класса? Помните, если у вас есть только объявление участника,

private Background mBackground; 

это эквивалентно

private Background mBackground = null;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...