2012-04-09 6 views
0

プログラムで更新するときに、ユーザーがデータピッカーを使用してeditTextボックス(日付用と時間用)に日付を再入力しないと、更新プログラムは古いものの代わりに現在の日付をdbに挿入します。私は古い時間を保つためにどのようにそれを得るだろうか?デシベルandroid dbを更新するときに古い日時を保持する方法は?

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

に入るintをここで私がint日付と時刻を入力するために使用されるコードは、ここでの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

上でクリックされたときに、日付と時刻を設定するためのコードがあるさ私はあなたの質問を完全に理解しているかどうかはわかりませんが、あなたが標準にしたいものにテキストボックスを設定する可能性があります。私はそれを説明する少し問題を抱えてい

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

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

たりしたい形式を取得するたDateFormatterを使用:あなたはミリ秒単位の時間(dateMillis)を持っている場合あなたがカレンダーを作成することができます。ユーザーがデータと時間を選択すると、そのデータがdbに入力されます。後で同じ画面に進み、画面上の情報を更新しますが、日付は更新しません。 dbは古い情報を保持するはずですが、上記のコードは現在の日付を入力し続けます。これはより良い説明ですか? – Aaron

+0

私はdateAndTimeがCalendarであると推測しています。dateAndTime.setTime(new Date(millis))で日付を設定できます。投稿したコードは古い日付を返します。 それはそれではない場合、私はあなたのコードをより多くの質問を投稿する必要があると思います。 – Heinrisch

+0

editTextsをクリックしたときの日付と時刻の取得方法のコードを追加しました。 – Aaron

関連する問題