2012-02-16 132 views
0

我正在開發使用Robert Green GLWallpaperService jar文件的openGL動態壁紙。 有一個例外來運行代碼沒有壁紙做 屏幕螞蟻戰平任務之後----爲什麼會出現NullPointerException?

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); 
    //} 
} 
+0

我們應該'mBackground'這裏尋找,因爲你已經檢查'gl'更早。無論如何,'mBackground'包含什麼? – mauris 2012-02-16 11:21:22

+0

'mBackground'爲null – 2012-02-16 11:22:05

+0

如果mBackground在之前沒有在'gl'變量上拋出任何東西,可能意味着mBackground是'null'。 – 2012-02-16 11:23:25

回答

1

是你確定你已經初始化了mBackgroundonCreate()或這個類的構造函數?記住,如果你只有一個成員聲明,​​

private Background mBackground; 

這相當於

private Background mBackground = null; 
相關問題