最初に "Calendar.getInstance()" を使用して DatePicker から現在の日付を取得し、次にユーザーが日付を変更するアプリを開発しています。変更後の新しい日付を取得するにはどうすればよいですか?
2 に答える
0
これを宣言します。
private static final int DATE_DIALOG_ID = 0;
このコーディングを onCreate() に追加します
// add a click listener to the button
date_text.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
// get the current date
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
String da = Integer.toString(mMonth)+"/"+Integer.toString(mDay)+"/"+Integer.toString(mYear);
date_text.setText(da);
これは onCreate() の外側にあります
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
String selectedDate = Integer.toString(mMonth)+"/"+Integer.toString(mDay)+"/"+Integer.toString(mYear);
date_text.setText(selectedDate);
System.out.println("selected date is:"+selectedDate);
}
};
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
}
return null;
}
于 2011-10-28T14:02:03.153 に答える
0
Calendar cal = Calendar.getInstance();
DatePickerDialog.OnDateSetListener listener = new DatePickerDialog.OnDateSetListener(){
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, monthOfYear);
cal.set(Calendar.DAY_OF_MONTH, dayOfMonth);
}
};
return new DatePickerDialog(this, listener, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH));
日付を文字列として取得するには (金曜日、2011 年 10 月 28 日 15:59:00:0)
SimpleDateFormat sdfDate = new SimpleDateFormat("EEEE, d/M/yyyy HH:mm:ss:S");
String date = sdfTime.format(new Date(cal.getTimeInMillis()));
于 2011-10-28T13:58:15.663 に答える