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

안드로이드 ListView logcat 오류좀 봐주세요

0 추천

이런 오류가 왜뜨는지 모르겠습니다

 

07-15 12:48:20.377: E/AndroidRuntime(19899): FATAL EXCEPTION: main
07-15 12:48:20.377: E/AndroidRuntime(19899): Process: com.example.diary, PID: 19899
07-15 12:48:20.377: E/AndroidRuntime(19899): java.lang.NullPointerException
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.AbsListView.obtainView(AbsListView.java:2310)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.ListView.makeAndAddView(ListView.java:1790)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.ListView.fillDown(ListView.java:691)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.ListView.fillFromTop(ListView.java:752)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.ListView.layoutChildren(ListView.java:1616)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.AbsListView.onLayout(AbsListView.java:2132)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.View.layout(View.java:14858)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewGroup.layout(ViewGroup.java:4646)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.RelativeLayout.onLayout(RelativeLayout.java:1055)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.View.layout(View.java:14858)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewGroup.layout(ViewGroup.java:4646)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.View.layout(View.java:14858)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewGroup.layout(ViewGroup.java:4646)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.LinearLayout.setChildFrame(LinearLayout.java:1673)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.LinearLayout.layoutVertical(LinearLayout.java:1527)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.LinearLayout.onLayout(LinearLayout.java:1436)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.View.layout(View.java:14858)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewGroup.layout(ViewGroup.java:4646)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.FrameLayout.layoutChildren(FrameLayout.java:453)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.FrameLayout.onLayout(FrameLayout.java:388)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.View.layout(View.java:14858)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewGroup.layout(ViewGroup.java:4646)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:2035)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1792)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1047)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5896)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.Choreographer.doCallbacks(Choreographer.java:574)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.Choreographer.doFrame(Choreographer.java:544)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.os.Handler.handleCallback(Handler.java:733)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.os.Handler.dispatchMessage(Handler.java:95)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.os.Looper.loop(Looper.java:136)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.app.ActivityThread.main(ActivityThread.java:5103)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at java.lang.reflect.Method.invokeNative(Native Method)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at java.lang.reflect.Method.invoke(Method.java:515)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:606)
07-15 12:48:20.377: E/AndroidRuntime(19899):  at dalvik.system.NativeStart.main(Native Method)

 

이따구로만들어 (480 포인트) 님이 2014년 7월 15일 질문

1개의 답변

0 추천
안드로이드 어느 버전에서 작업 중이신지 모르겠지만,

혹시 Adapter getView() 에서 null을 리턴하는지 확인해 보세요.

AbsListView에서 obtainView() 함수내에서 getView() 호출 이후 null 체크 하는 코드는 없는 거 같은데, Adapter getview()에서 null 리턴이 제일 유력한 것 같네요.
And (1,760 포인트) 님이 2014년 7월 15일 답변
정말 감사합니다!! null을 리턴하고 있었네요
정말 신기합니다 어느 오류부분을 보고 그렇게 한번에 찾으셨는지
저것들을 보고 오류를 찾는 팁좀알려주세요... 저도 나중에 누군가에게 도움이 되고싶어요
07-15 12:48:20.377: E/AndroidRuntime(19899): java.lang.NullPointerException
07-15 12:48:20.377: E/AndroidRuntime(19899):  at android.widget.AbsListView.obtainView(AbsListView.java:2310)
거의 최상단에 이 오류 보이시죠?
log는 위에 있을수록 나중에 찍힌겁니다. 결국
널이 떨어지기전에 어디서 떨어졌는지 log에 다 나오거든요. 위 로그 보고 판단하신거구요. 친절하게 라인수까지 다 알려주죠^^
...