У меня в приложении есть напоминание с тремя режимами просмотра текста, которые получают время из библиотеки.Когда пользователи выбирают каждый раз, я хочу добавить его в таблицу напоминаний в sqlite.
firstTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
status = "1";
PersianCalendar persianCalendar = new PersianCalendar();
persianCalendar.setTimeInMillis(System.currentTimeMillis());
int hour = persianCalendar.get(PersianCalendar.HOUR_OF_DAY);
int minute = persianCalendar.get(PersianCalendar.MINUTE);
TimePickerDialog persianTime;
persianTime = TimePickerDialog.newInstance(ReminderActivity.this, hour, minute, true);
persianTime.setTitle("انتخاب زمان");
persianTime.show(getFragmentManager(), "Timepickerdialog");
persianTime.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialogInterface) {
Log.d("TimePicker", "Dialog was cancelled");
}
});
if (reminders.size() == 0) {
r.setReminderTime(firstTime.getText().toString());
db.addReminder(r);
reminders.clear();
reminders.addAll(db.getReminders());
} else {
db.editReminder(reminders.get(0).getId(), firstTime.getText().toString());
}
}
});
во второй и третий раз аналогично
if (reminders.size() == 1) {
r.setReminderTime(secondTime.getText().toString());
db.addReminder(r);
reminders.clear();
reminders.addAll(db.getReminders());
} else {
db.editReminder(reminders.get(1).getId(), secondTime.getText().toString());
}
И это метод добавления в БД Activity
public boolean addReminder(Reminder reminder) {
ContentValues cv = new ContentValues();
cv.put(COL_TIME_REMINDER, reminder.getReminderTime());
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
Long isInserted = sqLiteDatabase.insert(REMINDER_TABLE_NAME, null, cv);
Log.e(TAG, "insertReminder: " + isInserted);
if (isInserted > 0) {
return true;
} else {
return false;
}
}
И получение данных
public ArrayList<Reminder> getReminders() {
ArrayList<Reminder> reminders = new ArrayList<>();
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
Cursor cursor = sqLiteDatabase.rawQuery("SELECT * FROM " + REMINDER_TABLE_NAME, null);
Log.e(TAG, "getReminders: " + cursor.getCount());
while (cursor.moveToNext()) {
Reminder reminder = new Reminder();
reminder.setId(cursor.getInt(0));
reminder.setReminderTime(cursor.getString(1));
reminders.add(reminder);
}
return reminders;
}
Я выбираю его три раза, но только один элемент добавляется в мою таблицу.Я не знаю, как правильно их добавить.