0

タスク管理アプリを作成しようとしていますが、作成されるすべてのタスクに期日を設定する必要があります。選択した日付をデータベースに保存できますが、更新中に問題が発生します。カーソルを使用してデータベースに保存されている日付ピッカービューで同じ日付を取得しようとしています。誰でも私を助けることができますか?ありがとう

私のコード:

 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;
4

2 に答える 2

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
}
于 2013-11-27T13:46:35.447 に答える