Я пытаюсь сделать это, когда я нажимаю кнопку, он добавляет то, что находится в моем текстовом редакторе, к моей таблице SQLite, но когда я нажимаю на нее, он просто падает. Я получаю ошибку onpause. Вот лог-кот.Ошибка приложения при попытке добавить элемент в базу данных SQLite (ошибка onPause())
11-20 20:06:32.076: E/AndroidRuntime(10548): FATAL EXCEPTION: main
11-20 20:06:32.076: E/AndroidRuntime(10548): java.lang.RuntimeException: Unable to pause activity {com.oxpheen.tweetschedulerfree/com.oxpheen.tweetschedulerfree.ScheduleTweetDialog}: java.lang.NullPointerException
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3144)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3099)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3077)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.ActivityThread.access$800(ActivityThread.java:153)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1264)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.os.Handler.dispatchMessage(Handler.java:99)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.os.Looper.loop(Looper.java:137)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.ActivityThread.main(ActivityThread.java:5227)
11-20 20:06:32.076: E/AndroidRuntime(10548): at java.lang.reflect.Method.invokeNative(Native Method)
11-20 20:06:32.076: E/AndroidRuntime(10548): at java.lang.reflect.Method.invoke(Method.java:511)
11-20 20:06:32.076: E/AndroidRuntime(10548): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:795)
11-20 20:06:32.076: E/AndroidRuntime(10548): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:562)
11-20 20:06:32.076: E/AndroidRuntime(10548): at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:115)
11-20 20:06:32.076: E/AndroidRuntime(10548): at dalvik.system.NativeStart.main(Native Method)
11-20 20:06:32.076: E/AndroidRuntime(10548): Caused by: java.lang.NullPointerException
11-20 20:06:32.076: E/AndroidRuntime(10548): at com.oxpheen.tweetschedulerfree.ScheduleTweetDialog.saveState(ScheduleTweetDialog.java:266)
11-20 20:06:32.076: E/AndroidRuntime(10548): at com.oxpheen.tweetschedulerfree.ScheduleTweetDialog.onPause(ScheduleTweetDialog.java:262)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.Activity.performPause(Activity.java:5206)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1226)
11-20 20:06:32.076: E/AndroidRuntime(10548): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:3130)
11-20 20:06:32.076: E/AndroidRuntime(10548): ... 13 more
Вот мой метод OnPause
@Override
protected void onPause() {
super.onPause();
saveState(); //Line 262 where it crashes
}
И мой saveState метод
private void saveState() {
String category = (String) mCategory.getSelectedItem(); //Line 266 where it crashes
String summary = mTitleText.getText().toString();
String description = mBodyText.getText().toString();
if (description.length() == 0 && summary.length() == 0) {
return;
}
ContentValues values = new ContentValues();
values.put (TodoTable.COLUMN_CATEGORY, category == null ? "" : category);
values.put(TodoTable.COLUMN_SUMMARY, summary);
values.put(TodoTable.COLUMN_DESCRIPTION, description);
if (todoUri == null) {
// New todo
todoUri = getContentResolver().insert(MyTodoContentProvider.CONTENT_URI, values);
} else {
// Update todo
getContentResolver().update(todoUri, values, null, null);
}
}
Я действительно новичок в базах данных, а что нет, поэтому я прошу прощения, если это легко ошибка. Но если бы вы могли помочь мне, это было бы здорово. Огромное спасибо. Если вам нужен какой-либо другой код, просто скажите мне, что я отправлю немедленно!
где определена mCategory? Где он инициализируется? – EJK
общественный Spinner mCategory; mCategory = (Spinner) findViewById (R.id.category); for (int i = 0; i
Fernando
ОК, это определение. Вы инициализируете его в onCreate()? – EJK