
현재 위와같은 배치를 하고있는데요...
오늘, 1주, 1달버튼을누르면 날짜가 바뀝니다..
날짜창을 클릭하면 데이트피커가 열리는데요.
데이트피커에는 바뀐날짜가 반영이되지않습니다...
어떻게 소스를 변경하면될까요..??
날짜부분 소스올립니다...
//일주일
befor7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Calendar c = Calendar.getInstance();
mYear1 = c.get(Calendar.YEAR);
mMonth1 = c.get(Calendar.MONTH);
mDay1 = c.get(Calendar.DAY_OF_MONTH);
mYear2 = c.get(Calendar.YEAR);
mMonth2 = c.get(Calendar.MONTH);
mDay2 = c.get(Calendar.DAY_OF_MONTH);
c.add(Calendar.DAY_OF_MONTH, -7);
Date calculatedDate = c.getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
String strDate = dateFormat.format(calculatedDate);
System.out.println(strDate);
mYear1 = Integer.parseInt(strDate.substring(0, 4));
mMonth1 = Integer.parseInt(strDate.substring(4, 6))-1;
mDay1 = Integer.parseInt(strDate.substring(6, 8));
SharedPreferences.Editor editor = pref.edit();
editor.putString("year2", Integer.toString(mYear1));
editor.putString("year3", Integer.toString(mYear2));
editor.putString("dayOfMonth1", Integer.toString(mDay1));
editor.putString("dayOfMonth2", Integer.toString(mDay2));
editor.putString("monthOfYear1", Integer.toString(mMonth1));
editor.putString("monthOfYear2", Integer.toString(mMonth2));
editor.commit();
updateDisplay();
updateDisplay1();
}
});
// 왼쪽 날짜선택 버튼
date1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
System.out.println(pref.getString("year2", ""));
System.out.println(pref.getString("dayOfMonth1", ""));
System.out.println(pref.getString("monthOfYear1", ""));
showDialog(DATE_DIALOG_ID);
}
});
// 날짜
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 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(year));
editor.putString("monthOfYear1", Integer.toString(monthOfYear));
editor.putString("dayOfMonth1", Integer.toString(dayOfMonth));
editor.commit();
updateDisplay();
}
};
// 날짜
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
if (pref.getString("year2", "").equals("")) {
return new DatePickerDialog(this, mDateSetListener, mYear1,
mMonth1, mDay1);
} else {
return new DatePickerDialog(this, mDateSetListener,
Integer.parseInt(pref.getString("year2", "")),
Integer.parseInt(pref.getString("monthOfYear1", "")),
Integer.parseInt(pref.getString("dayOfMonth1", "")));
}
case DATE1_DIALOG_ID:
if (pref.getString("year3", "").equals("")) {
return new DatePickerDialog(this, mDateSetListener1, mYear2,
mMonth2, mDay2);
} else {
return new DatePickerDialog(this, mDateSetListener1,
Integer.parseInt(pref.getString("year3", "")),
Integer.parseInt(pref.getString("monthOfYear2", "")),
Integer.parseInt(pref.getString("dayOfMonth2", "")));
}
}
return null;
}