2010-08-10 2 views
0

MyCursorAdapter.bindView를 호출하려고하면 안드로이드 애플리케이션이 작동을 멈 춥니 다. body.setText(cursor.getString(cursor.getColumnIndex(TasksDBAdapter.Key_BODY))); 다른 정보를 필요로NullPointerException이 SQLite 데이터베이스에 의해 간접적으로 호출 되었습니까?

TextView title = (TextView) view.findViewById(R.id.title); 
    EditText body = (EditText) view.findViewById(R.id.body); 
    TextView created = (TextView) view.findViewById(R.id.created); 

    title.setText(cursor.getString(cursor.getColumnIndex(TasksDBAdapter.KEY_TITLE))); 
    title.setSelected(cursor.getInt(cursor.getColumnIndex(TasksDBAdapter.KEY_COMPLETED)) > 0); 
    body.setText(cursor.getString(cursor.getColumnIndex(TasksDBAdapter.KEY_BODY))); 
    created.setText(((Long)cursor.getLong(cursor.getColumnIndex(TasksDBAdapter.KEY_CREATED))).toString()); 

라인 (28) 시작 :

여기
08-10 15:22:57.269: ERROR/AndroidRuntime(463): FATAL EXCEPTION: main 
08-10 15:22:57.269: ERROR/AndroidRuntime(463): java.lang.NullPointerException 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at com.mohit.gtodo.TasksCursorAdapter.bindView(TasksCursorAdapter.java:28) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.CursorAdapter.getView(CursorAdapter.java:186) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.AbsListView.obtainView(AbsListView.java:1315) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.ListView.measureHeightOfChildren(ListView.java:1198) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.ListView.onMeasure(ListView.java:1109) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.View.measure(View.java:8171) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:381) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.View.measure(View.java:8171) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.View.measure(View.java:8171) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.LinearLayout.measureVertical(LinearLayout.java:526) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.LinearLayout.onMeasure(LinearLayout.java:304) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.View.measure(View.java:8171) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.widget.FrameLayout.onMeasure(FrameLayout.java:245) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.View.measure(View.java:8171) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.ViewRoot.performTraversals(ViewRoot.java:801) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.os.Handler.dispatchMessage(Handler.java:99) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.os.Looper.loop(Looper.java:123) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at java.lang.reflect.Method.invokeNative(Native Method) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at java.lang.reflect.Method.invoke(Method.java:521) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
08-10 15:22:57.269: ERROR/AndroidRuntime(463):  at dalvik.system.NativeStart.main(Native Method) 

내 CursorAdapter에서의 Bindview 방법입니다 : 여기에 로그 캣 로그는?

UPDATE :

EditText body = (EditText) view.findViewById(R.id.body); 

가 null 것 같다? 여기에 위젯입니다 :

<EditText android:id="@+id/body" android:layout_below="@+id/body_txt" android:text="" android:layout_width="fill_parent" android:layout_height="wrap_content" android:minLines="10"></EditText> 
+0

당신은 서로에 꽤 몇 가지 방법이있다. 어떤 부분이 null인지 확인하기 위해 디버깅을 시도 했습니까? – Sephy

+0

업데이트를 확인하십시오. –

+0

어디에서 '보기'가 어떻게 인스턴스화됩니까? – Aurora

답변

1

당신은 다른 뷰에서 참조를 얻을 필요가의 Bindview 방법에서보기 매개 변수입니다. 뷰는 전체 레이아웃이 아닌 행 레이아웃 일뿐입니다. 그 이유는 view.findViewById를 수행 할 때 Android가이 뷰에서이 ID를 알지 못하므로 null을 반환하기 때문입니다.

관련 문제