0

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;
Shweta
  • 1,145
  • 5
  • 18
  • 35
  • What behavior are you currently experiencing? It is not very clear from your question what currently happens and why it is not correct. – Bryan Herbst Aug 15 '13 at 16:28

2 Answers2

0

save your Unix Timestamp; use getTimeInMillis() and setTimeInMillis().

collapsar
  • 17,010
  • 4
  • 35
  • 61
Su Zhenpeng
  • 224
  • 1
  • 3
0
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
}
jaxvy
  • 5,040
  • 1
  • 21
  • 22