2013-04-05 2 views
0

Ahm, 안녕하세요 여러분, 저는 만들고있는 프로그램의 문제가 무엇인지 물어보고 싶습니다. 여기 PlayActivity.classPublic 메서드를 호출하면 NullPointerException이 발생합니다. -

//more codes here 
public void stFLabel(int numFace, Context ct) { 

    try { 
     if(numFace > 0) 
      faceLebel.setText("Face Hint : I See You Human"); 
     else 
      faceLebel.setText("Face Hint : Where Are You?"); 
    } 
    catch(NullPointerException e) 
    { 
     e.printStackTrace(); 
      Log.d(TAG, "stFLabel Has Error"); 
     } 
    } 
//more codes here 

* CameraPreview.class *

//More codes 
... 
PlayActivity pacT = new PlayActivity(); 
... 
//More Codes 
.. 
public void pausy(int numFace) { 
pacT.stFLabel(numFace, mContext); 
} 

로그 캣

04-05 16:11:26.150: D/FaceDetection(27929): face detected: 1 Face 1 Location X: 65Y: -1 
04-05 16:11:26.150: W/System.err(27929): java.lang.NullPointerException 
04-05 16:11:26.150: W/System.err(27929): at com.delihente.faceplay.PlayActivity.stFLabel(PlayActivity.java:90) 
04-05 16:11:26.150: W/System.err(27929): at com.delihente.faceplay.CameraPreview.pausy(CameraPreview.java:62) 
04-05 16:11:26.150: W/System.err(27929): at com.delihente.faceplay.CameraPreview$1.onFaceDetection(CameraPreview.java:53) 
04-05 16:11:26.150: W/System.err(27929): at android.hardware.Camera$EventHandler.handleMessage(Camera.java) 
04-05 16:11:26.150: W/System.err(27929): at android.os.Handler.dispatchMessage(Handler.java) 
04-05 16:11:26.150: W/System.err(27929): at android.os.Looper.loop(Looper.java) 
04-05 16:11:26.150: W/System.err(27929): at android.app.ActivityThread.main(ActivityThread.java) 
04-05 16:11:26.150: W/System.err(27929): at java.lang.reflect.Method.invokeNative(Native Method) 
04-05 16:11:26.150: W/System.err(27929): at java.lang.reflect.Method.invoke(Method.java:511) 
04-05 16:11:26.150: W/System.err(27929): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java) 
04-05 16:11:26.150: W/System.err(27929): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java) 
04-05 16:11:26.150: W/System.err(27929): at dalvik.system.NativeStart.main(Native Method) 
04-05 16:11:26.150: D/(27929): stFLabel Has Error 
012,351 니펫 코드

인 6,

더 많은 정보는 :

PlayAcvitiy.class extends Activity (Main Class) 
CameraPreview.class - The camera preview class provided by google android development 
faceLebel = TextView on PlayAcvitiy.class 
mContext = PlayActivity.class Context 
나는 NullPointerException이 원인을 알고 싶어

(A 수정이 더 나은 것), 나는 내 문제에 대한 구글 검색의 거의 3 페이지를 읽었지만 아무도 없습니다 나를 도와 주었다. CameraPreview.class가 감지/감지하지 못할 때 TextView Label을 변경하기 때문에이 방법을 사용할 수 없기 때문에 메서드를 정적으로 변경하는 방법에 대해서는 언급하지 마십시오. 미리 감사드립니다!

편집 : 내가 여기 이렇게 많은 관련 질문을 읽고,하지만 그들 중 누구도 도움을 보이지 않는다

편집 2 : 특별히 PrafulBhatnagar, 나는이 방법을 사용하는 것이 배운 모든 문제, 해결 덕분에, 주 활동에서 그것의 맥락에 대한 참조가 필요하다. 모두에게 감사드립니다!

+0

시도'((PlayActivity) mContext ..이 도움 희망 PlayActivity

mContext 저장 참조를 가정 ...

((PlayActivity)mContext).stFLabel(numFace, mContext); :

는이 오류를 해결하기 위해 다음과 같은 코드를 사용할 수 있습니다) .stFLabel (numFace, mContext);''mContext'가'PlayActivity'에 대한 참조를 저장한다고 가정합니다. –

+0

null 인 객체를 호출하거나 가져 오는 중입니다. setText()를 호출 할 때 null 인 "faceLebel"이 될 수 있습니다. 디버그 –

+0

'faceLebel'이 올바르게 선언 되었습니까? 그것이 던져 질 수있는 유일한 것 같이 보인다. – Skepi

답변

관련 문제