2012-04-09 52 views
0

在我的程序中進行更新時,如果用戶沒有使用數據閱讀器將日期重新輸入到editText框(一個用於日期,另一個用於時間),那麼更新將插入到db中而不是舊的日期。我如何獲得它以保持舊時間?下面是我用來輸入INT int類型的日期和時間的代碼進入DB如何在更新android數據庫時保留舊的日期和時間?

  newTime.year = dateAndTime.get(Calendar.YEAR); 
    newTime.month = dateAndTime.get(Calendar.MONTH); 
    newTime.monthDay = dateAndTime.get(Calendar.DAY_OF_MONTH); 
    newTime.hour = dateAndTime.get(Calendar.HOUR_OF_DAY); 
    newTime.minute = dateAndTime.get(Calendar.MINUTE); 

    enteredTime = (int) ((newTime).toMillis(true)/1000); 

這裏是設置日期和時間碼EDITTEXT被點擊

public void date(View v) { 
    int inType = date.getInputType(); // backup the input type 
    date.setInputType(InputType.TYPE_NULL); // disable soft input 
    date.setInputType(inType); 
    new DatePickerDialog(report.this, d, dateAndTime.get(Calendar.YEAR), 
      dateAndTime.get(Calendar.MONTH), 
      dateAndTime.get(Calendar.DAY_OF_MONTH)).show(); 

} 

public void time(View v) { 
    int inType = time.getInputType(); // backup the input type 
    time.setInputType(InputType.TYPE_NULL); // disable soft input 
    time.setInputType(inType); 

    new TimePickerDialog(report.this, t, 
      dateAndTime.get(Calendar.HOUR_OF_DAY), 
      dateAndTime.get(Calendar.MINUTE), true).show(); 

} 

private void updateLabel() { 
    date.setText(fmtDate.format(dateAndTime.getTime())); 
} 

private void updateLabel1() { 
    time.setText(fmtTime.format(dateAndTime.getTime())); 
} 

DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener() { 
    public void onDateSet(DatePicker view, int year, int monthOfYear, 
      int dayOfMonth) { 
     dateAndTime.set(Calendar.YEAR, year); 
     dateAndTime.set(Calendar.MONTH, monthOfYear); 
     dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth); 

     updateLabel(); 
    } 
}; 

TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() { 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
     dateAndTime.set(Calendar.HOUR_OF_DAY, hourOfDay); 
     dateAndTime.set(Calendar.MINUTE, minute); 

     updateLabel1(); 
    } 
}; 

回答

0

時我不確定我是否完全理解你的問題,但有一種可能性是將文本框設置爲你想成爲標準的東西。如果您在毫秒(dateMillis)時,你可以創建一個日曆:

 Date d = new Date(dateMillis); 
    Calendar c = Calendar.getInstance(); 
    c.setTime(d); 

或使用dateformatter得到你想要的格式:

 Date d = new Date(dateMillis); 
    SimpleDateFormat formatter = new SimpleDateFormat("dd-MM-yy"); 
    String date = formatter.format(d); 
+0

我有一個小麻煩解釋它。用戶選擇數據和時間,然後將數據輸入到數據庫中。之後,進入同一屏幕並更新屏幕上的一些信息,但不更新日期。數據庫應該保留舊的信息,但上面的代碼不斷輸入當前日期。這是更好的解釋嗎? – Aaron 2012-04-09 19:07:43

+0

我猜dateAndTime是一個日曆,那麼你可以用dateAndTime.setTime(new Date(millis))設置日期;並且您發佈的代碼應該返回舊日期。 如果不是這樣,我認爲你必須發佈更多的代碼,而不是更多的問題。 – Heinrisch 2012-04-09 19:32:40

+0

我將代碼添加到了我如何獲取日期和時間,當我點擊editTexts – Aaron 2012-04-09 19:40:49

相關問題