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, 나는이 방법을 사용하는 것이 배운 모든 문제, 해결 덕분에, 주 활동에서 그것의 맥락에 대한 참조가 필요하다. 모두에게 감사드립니다!
시도'((PlayActivity) mContext ..이 도움 희망
PlayActivity
에
mContext
저장 참조를 가정 ...((PlayActivity)mContext).stFLabel(numFace, mContext);
:는이 오류를 해결하기 위해 다음과 같은 코드를 사용할 수 있습니다) .stFLabel (numFace, mContext);''mContext'가'PlayActivity'에 대한 참조를 저장한다고 가정합니다. –
null 인 객체를 호출하거나 가져 오는 중입니다. setText()를 호출 할 때 null 인 "faceLebel"이 될 수 있습니다. 디버그 –
'faceLebel'이 올바르게 선언 되었습니까? 그것이 던져 질 수있는 유일한 것 같이 보인다. – Skepi