如何获得保存在日期选取器查看日期在android系统? [英] How to get saved date in date picker view in android?
本文介绍了如何获得保存在日期选取器查看日期在android系统?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想创建一个任务管理应用程序,我需要设置一个到期日期将要创建的各项任务。我能够保存选定的日期在数据库中,但是当我更新它,我面对的问题。我试图让在日期选择器视图,即使用光标保存在数据库中同一日期。
任何人可以帮助我吗?谢谢
我的code:
如果(tasksID大于0){
DB =新TodoTask_Database(getApplicationContext());
光标C = db.getTaskDetails(tasksID);
db.close();
datePicker.init(年,月,日,NULL);
的dueDate = c.getString(0);
}
其他{
datePicker.init(datePicker.getYear(),datePicker.getMonth(),datePicker.getDayOfMonth(),
新OnDateChangedListener(){
公共无效onDateChanged(查看的DatePicker,年整型,
INT monthOfYear,诠释请将dayOfMonth){
年=年;
一个月= monthOfYear + 1;
天=请将dayOfMonth;
的dueDate = +年+ - +月+ - +天;
}
});
}
okBtn =(按钮)findViewById(R.id.okBtn);
okBtn.setOnClickListener(本);
cancelBtn =(按钮)findViewById(R.id.cancelBtn);
cancelBtn.setOnClickListener(本);
}
@覆盖
公共无效的onClick(视图v){
长mTaskID_FromDetails = TaskId_FromDetails;
长TASK_ID = TASK_ID;
开关(v.getId()){ 案例R.id.okBtn:
意图passtomain =新意图(getApplicationContext(),Main_Activity.class);
DB =新TodoTask_Database(getApplicationContext());
如果(!db.didTaskDetailsExist(TASK_ID)){
db.addTaskDetails(的dueDate,
mTaskID_FromDetails);
}
其他{
//这里面临的问题,如何从数据库和更新的日期选择器同日再次选择后?
datePicker.init(年,月,日,
新OnDateChangedListener(){
公共无效onDateChanged(查看的DatePicker,年整型,
INT monthOfYear,诠释请将dayOfMonth){
年=年;
一个月= monthOfYear + 1;
天=请将dayOfMonth;
的dueDate = +年+ - +月+ - +天;
}
});
db.updateTaskDetails(TASK_ID,的dueDate);
}
startActivity(passtomain);
db.close();
打破;
解决方案
公共无效onDateChanged(查看的DatePicker,年整型,诠释monthOfYear,诠释请将dayOfMonth){
日历selectedCalendar = Calendar.getInstance();
selectedCalendar.set(Calendar.YEAR,年);
selectedCalendar.set(的Calendar.MONTH,monthOfYear);
selectedCalendar.set(Calendar.DAY_OF_MONTH,请将dayOfMonth);
//此时selectedCalendar包含您选择的日期
}
I am trying to create a task management app, and I need to set a due date on every task that will be created. I am able to save selected date in database but when I am updating it, I am facing issue. I am trying to get same date in datepicker view, that is saved in database using cursor. can anybody help me out? thanks
my code:
if(tasksID>0){
db = new TodoTask_Database(getApplicationContext());
Cursor c = db.getTaskDetails(tasksID);
db.close();
datePicker.init(Year, month, day, null);
dueDate = c.getString(0);
}
else {
datePicker.init(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth(),
new OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
Year=year;
month= monthOfYear+1;
day= dayOfMonth;
dueDate = +Year+"-"+month+"-"+day;
}
});
}
okBtn = (Button)findViewById(R.id.okBtn);
okBtn.setOnClickListener(this);
cancelBtn = (Button)findViewById(R.id.cancelBtn);
cancelBtn.setOnClickListener(this);
}
@Override
public void onClick(View v) {
long mTaskID_FromDetails = TaskId_FromDetails;
long task_ID = Task_ID;
switch(v.getId()){
case R.id.okBtn:
Intent passtomain = new Intent(getApplicationContext(), Main_Activity.class);
db = new TodoTask_Database(getApplicationContext());
if(!db.didTaskDetailsExist(task_ID)){
db.addTaskDetails(dueDate,
mTaskID_FromDetails);
}
else{
//facing issue here how to get same date in date picker from database and update after selecting it again?
datePicker.init(Year, month, day,
new OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
Year=year;
month= monthOfYear+1;
day= dayOfMonth;
dueDate = +Year+"-"+month+"-"+day;
}
});
db.updateTaskDetails(task_ID, dueDate);
}
startActivity(passtomain);
db.close();
break;
解决方案
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar selectedCalendar = Calendar.getInstance();
selectedCalendar.set(Calendar.YEAR, year);
selectedCalendar.set(Calendar.MONTH, monthOfYear);
selectedCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
//at this point selectedCalendar contains your selected date
}
这篇关于如何获得保存在日期选取器查看日期在android系统?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文