2013-07-28 2 views
1

OpenGL ES 2.0을 사용하여 opengl android app을 개발했습니다. 내 앱이 다운되고 다음과 같이 로그에 기록합니다.GLThread java.lang.NullPointerException 오류

07-28 22 : 55 : 29.460 13407-13420 /?
E/AndroidRuntime : FATAL EXCEPTION : com.jayway.gles20.GLES20Renderer.onDrawFrame에서 com.jayway.gles20.GLES20Renderer.draw_worlddate (GLES20Renderer.java:521) 에서 GLThread 1,293 java.lang.NullPointerException이 (GLES20Renderer.java : 503) at com.jayway.gles20.GLRenderer.onDrawFrame (GLRenderer.java:87) android.opengl.GLSurfaceView $ GLThread.guardedRun (GLSurfaceView.java:1516) android.opengl.GLSurfaceView $ GLThread.run 이 함수 (GLSurfaceView.java:1240)

에러 :

public void draw_worlddate(String wtype){ 
    Map<String,float[][][]> wdw=worlddate.world; 
    float[][][] ww; 
    ww = wdw.get(wtype); 
    float[][] ww2; 
    float[] ww3; 
    for (int i=0;i<ww.length;i++){//this is line 521 
     ww2=ww[i]; 

     Matrix.setIdentityM(mModelMatrix, 0); 
     for(Integer i2=0;i2<ww2.length;i2++){ 

      ww3=ww2[i2]; 
      switch (i2){ 
       case 0: 
        Matrix.translateM(mModelMatrix,0,ww3[0],ww3[1],ww3[2]); 
       break; 
       case 1: 
        Matrix.rotateM(mModelMatrix,0,0.0f,ww3[0],ww3[1],ww3[2]); 
       break; 
       case 2: 
        Matrix.scaleM(mModelMatrix,0,ww3[0],ww3[1],ww3[2]); 
       break; 
      } 
     } 
     drawTriangle(mTriangle1Vertices); 
    } 
} 

지도 INT 구문 분석 배열 :

{ 
      { 
        { 
          1.0f, 
          1.0f, 
          1.0f 
        }, 
        { 
          1.0f, 
          1.0f, 
          1.0f 
        }, 
        { 
          1.0f, 
          1.0f, 
          1.0f 
        } 
      } 
    } 

방법이 문제를 해결하기 위해? Mapwdw 검색된 배열의 길이를 결정하기 전에 관련 키에 대한 값을 포함

답변

1

확인

if (wdw.containsKey(wtype)) { 
    ww = wdw.get(wtype); 
    ... 
    for (int i=0; i <ww.length;i++){ 
    ... 
    } 
} 
관련 문제