2011-10-28 5 views
0

LogCat 스택에서 NullPointerExcpetion을 사용하고 있는데 그 이유를 파악하지 못했습니다. 나는 바깥 세상의 일부 눈들이 나를 찾는데 도움이되기를 바랍니다.NullPointerException의 원인을 찾을 수 없습니다. Android

10-28 02:04:55.998: ERROR/AndroidRuntime(524): FATAL EXCEPTION: main 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524): java.lang.NullPointerException 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at vt.nhw.android.easyringertoggle.ScheduleDbAdapter.createSchedule(ScheduleDbAdapter.java:77) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at vt.nhw.android.easyringertoggle.ScheduleEditActivity.saveState(ScheduleEditActivity.java:195) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at vt.nhw.android.easyringertoggle.ScheduleEditActivity.access$3(ScheduleEditActivity.java:189) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at vt.nhw.android.easyringertoggle.ScheduleEditActivity$5.onClick(ScheduleEditActivity.java:135) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at android.view.View.performClick(View.java:2408) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at android.view.View$PerformClick.run(View.java:8816) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at android.os.Handler.handleCallback(Handler.java:587) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at android.os.Handler.dispatchMessage(Handler.java:92) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at android.os.Looper.loop(Looper.java:123) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at java.lang.reflect.Method.invokeNative(Native Method) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at java.lang.reflect.Method.invoke(Method.java:521) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
    10-28 02:04:55.998: ERROR/AndroidRuntime(524):  at dalvik.system.NativeStart.main(Native Method) 

묶음이 saveState() 메소드와 createSchedule() 메소드를 가리키는 것으로 보인다 : 여기

는 로그 캣의 스택이다. 관련 라인은 두 개의 별표로 표시되었습니다.

saveState() :

private void saveState() { 
    String title = mTitleText.getText().toString(); 
    SimpleDateFormat dateTimeFormat = new SimpleDateFormat(DATE_TIME_FORMAT); 
    String scheduleDateTime = dateTimeFormat.format(mCalendar.getTime()); 

    if (mRowId == null) { 
     **long id = mDbHelper.createSchedule(title, scheduleDateTime);** 
     if(id > 0) { 
      mRowId = id; 
     } 
    } else { 
     mDbHelper.updateSchedule(mRowId, title, scheduleDateTime); 
    } 
} 

createSchedule() :

public long createSchedule(String title, String scheduleDateTime) { 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(KEY_TITLE, title); 
    initialValues.put(KEY_DATE_TIME, scheduleDateTime); 
    **return mDb.insert(DATABASE_TABLE, null, initialValues);** 
} 

내가 다른 코드를 게시 할 필요가 있으면 알려 주시기 바랍니다. 네가 내게 줄 수있는 도움을 주셔서 감사합니다.

감사합니다, 제이슨

+1

'createSchedule()'에 널 포인터가 있다면, 그것은 'initialValue' 또는'mDb'입니다. 나는 후자를 추측 할 것이다. –

답변

1

mDb이 글로벌 유일한 변수이기 때문에 NULL이 될 것으로 보인다.

관련 문제