데이트피커 다이얼로그를 열때
지정날짜 (예: 2016년 04월 29일)로 고정되어 열고싶은데..
처음 1회열때는 지정한날짜로 제대로뜹니다..
두번째부터는 제가 지정한날짜가아니라 데이트피커 선택한 날짜로 뜨네요..
지정한날짜로만 뜨게할수있는방법이없을까요..??
// 날짜
private void updateDisplay() {
// TODO Auto-generated method stub
if (mMonth1 < 9 && mDay1 < 10) {
date1.setText(new StringBuilder().append(mYear1).append("-")
.append("0").append(mMonth1 + 1).append("-").append("0")
.append(mDay1));
} else if (mMonth1 < 9 && mDay1 >= 10) {
date1.setText(new StringBuilder().append(mYear1).append("-")
.append("0").append(mMonth1 + 1).append("-").append(mDay1));
} else if (mMonth1 >= 9 && mDay1 < 10) {
date1.setText(new StringBuilder().append(mYear1).append("-")
.append(mMonth1 + 1).append("-").append("0").append(mDay1));
} else {
date1.setText(new StringBuilder().append(mYear1).append("-")
.append(mMonth1 + 1).append("-").append(mDay1));
}
}
// 날짜
private void updateDisplay1() {
// TODO Auto-generated method stub
if (mMonth2 < 9 && mDay2 < 10) {
date2.setText(new StringBuilder().append(mYear2).append("-")
.append("0").append(mMonth2 + 1).append("-").append("0")
.append(mDay2));
} else if (mMonth2 < 9 && mDay2 >= 10) {
date2.setText(new StringBuilder().append(mYear2).append("-")
.append("0").append(mMonth2 + 1).append("-").append(mDay2));
} else if (mMonth2 >= 9 && mDay2 < 10) {
date2.setText(new StringBuilder().append(mYear2).append("-")
.append(mMonth2 + 1).append("-").append("0").append(mDay2));
} else {
date2.setText(new StringBuilder().append(mYear2).append("-")
.append(mMonth2 + 1).append("-").append(mDay2));
}
}
// 날짜
private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
mYear1 = year;
mMonth1 = monthOfYear;
mDay1 = dayOfMonth;
SharedPreferences.Editor editor = pref.edit();
editor.putString("year2", Integer.toString(mYear1));
editor.putString("monthOfYear1", Integer.toString(monthOfYear));
editor.putString("dayOfMonth1", Integer.toString(dayOfMonth));
editor.commit();
updateDisplay();
}
};
// 날짜
private DatePickerDialog.OnDateSetListener mDateSetListener1 = new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear2 = year;
mMonth2 = monthOfYear;
mDay2 = dayOfMonth;
SharedPreferences.Editor editor = pref.edit();
editor.putString("year3", Integer.toString(mYear2));
editor.putString("monthOfYear2", Integer.toString(monthOfYear));
editor.putString("dayOfMonth2", Integer.toString(dayOfMonth));
editor.commit();
updateDisplay1();
}
};
// 날짜
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
if (pref.getString("year2", "") != "") {
return new DatePickerDialog(this, mDateSetListener,
Integer.parseInt(pref.getString("year2", "")),
Integer.parseInt(pref.getString("monthOfYear1", "")),
Integer.parseInt(pref.getString("dayOfMonth1", "")));
}
else {
return new DatePickerDialog(this, mDateSetListener, mYear1,
mMonth1, mDay1);
}
case DATE1_DIALOG_ID:
if (pref.getString("year3", "") != "") {
return new DatePickerDialog(this, mDateSetListener1,
Integer.parseInt(pref.getString("year3", "")),
Integer.parseInt(pref.getString("monthOfYear2", "")),
Integer.parseInt(pref.getString("dayOfMonth2", "")));
}
else {
return new DatePickerDialog(this, mDateSetListener1, mYear2,
mMonth2, mDay2);
}
}
return null;
}