마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

에러좀 잡아주세요 부탁드립니다

0 추천
 Process: app.kgd.clothes, PID: 24762
    java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
            at app.kgd.clothes.MainActivity$ManClothes.onCreateView(MainActivity.java:129)
            at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:955)
            at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
            at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
            at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
            at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:490)
            at android.support.v4.app.FragmentPagerAdapter.finishUpdate(FragmentPagerAdapter.java:141)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:1105)
            at android.support.v4.view.ViewPager.populate(ViewPager.java:951)
            at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1473)
            at android.view.View.measure(View.java:18586)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
            at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:124)
            at android.view.View.measure(View.java:18586)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
            at android.support.v7.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:444)
            at android.view.View.measure(View.java:18586)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
            at android.view.View.measure(View.java:18586)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
            at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1435)
            at android.widget.LinearLayout.measureVertical(LinearLayout.java:721)
            at android.widget.LinearLayout.onMeasure(LinearLayout.java:612)
            at android.view.View.measure(View.java:18586)
            at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5827)
            at android.widget.FrameLayout.onMeasure(FrameLayout.java:430)
            at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2897)
            at android.view.View.measure(View.java:18586)
            at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2273)
            at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1331)
            at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1573)
            at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1216)
            at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6670)
            at android.view.Choreographer$CallbackRecord.run(Choreographer.java:777)
            at android.view.Choreographer.doCallbacks(Choreographer.java:590)
            at android.view.Choreographer.doFrame(Choreographer.java:560)
            at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:763)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:145)
            at android.app.ActivityThread.main(ActivityThread.java:5972)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

생초보라 무슨뜻인지 잘 모르겠어요 ..

kgd1234 (150 포인트) 님이 2015년 7월 8일 질문

1개의 답변

+1 추천

 java.lang.NullPointerException: <-- 에러의 종류입니다.

Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

<-- 어떤식으로 에러가 일어났는지 이야기하고 있습니다.

at app.kgd.clothes.MainActivity$ManClothes.onCreateView(MainActivity.java:129) <-- 에러가 일어난 장소(라인)입니다.
 
at android.support.v4.app.Fragment.performCreateView(Fragment.java:1789) <-- 이하는 에러가 일어난 부분을 실행시킨 콜러들입니다.
 
조금더 공부하셔야 할듯 하구요. 이거 보줄을 알아야 앱을 개발하실수 있을 것 같습니다.
 
결론적으로 말하자만 MainActivity.java:129 라인에서 사용되어지는 view 객체가 null이라고 하내요. 버튼이나 머 그런걸 껀데..
소스코드가 없으니.....
아무튼 129라인에 사용되어지는 view object가 그 이전에 생성되어지던 참조되어지던 어떻게든지 해야하는데 그게 않됬다는것 같습니다.
 
그리고 자바에서 오류는 보통 몇번만 보시면.. 한가지 에러에 대해서 줄줄이 출력해주지만 보통은 처음 몇 라인이내에 에러가 생긴 원인이 있는 경우가 많습니다.
컴러기 (22,230 포인트) 님이 2015년 7월 8일 답변
kgd1234님의 아랫쪽 질문에 코드에 연속된 질문인지요?
거기보니 findviewbyid 의 사용법에서 문제가 생깃듯 보이던데요.
View view = inflater.inflate(R.layout.man, container, false);
Button bt1= (Button) findViewById(R.id.bt1);
layout을 받아온 것은  view라는 오브젝트가 받았는데 플래그먼트의 findviewbyid를 사용하셨더군요.
Button bt1= (Button) view.findViewById(R.id.bt1);
로 해보시지요?
정말 감사합니다 덕분에 해결 됬습니다 ㅠㅠ
...