【发布时间】:2020-03-25 09:24:57
【问题描述】:
我试图将时间和日期从 androids TimePickerDialog 和 DatePickerDialog 添加到我的 SQLite 数据库中。但是,当我尝试这个时,它不起作用。没有数据出现在数据库中。我认为在将数据添加到数据库时,对话框会同时显示。
这是我的 addItem() 函数,由按钮触发。
private void addItem(){
final Calendar calendar = Calendar.getInstance();
int HOUR = calendar.get(Calendar.HOUR);
int MINUTE = calendar.get(Calendar.MINUTE);
int YEAR = calendar.get(Calendar.YEAR);
int MONTH = calendar.get(Calendar.MONTH);
int DATE = calendar.get(Calendar.DATE);
//CREATES THE DATEPICKER DIALOG
DatePickerDialog datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
dateString = year + " " + month + " " + dayOfMonth;
}
}, YEAR, MONTH, DATE);
//CREATES THE TIMEPICKER DIALOG
TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
timeString = hourOfDay + ":" + minute;
}
}, HOUR, MINUTE, true);
datePickerDialog.show();
timePickerDialog.show();
ContentValues cv = new ContentValues();
cv.put(GroceryContract.GroceryEntry.COLUMN_DATE, dateString);
cv.put(GroceryContract.GroceryEntry.COLUMN_TIME, timeString);
mDatabase.insert(GroceryContract.GroceryEntry.TABLE_NAME, null, cv);
mAdapter.swapCursor(getAllItems());
}
当我在 onDateSet 或 onTimeSet 方法中移动 ContentValues cv... 代码时,它可以正常工作。但是,这似乎是一种不好的做法。
有什么想法吗?
【问题讨论】:
标签: android datepickerdialog timepickerdialog