본문 바로가기

Android

DatePickerDialog 사용하기- doitmission05






public class MainActivity extends AppCompatActivity {

private TextView editText,editText2,editText3;
private Date currentDate;
private int iYear,iMonth,iDay;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

editText = (TextView) findViewById(R.id.editText);
editText2 = (TextView) findViewById(R.id.editText2);
editText3 = (TextView) findViewById(R.id.editText3);

getDateToday();
}

protected void getDateToday(){
currentDate = new Date();
SimpleDateFormat sdfYear = new SimpleDateFormat("yyyy");
SimpleDateFormat sdfMon = new SimpleDateFormat("MM");
SimpleDateFormat sdfDay = new SimpleDateFormat("dd");

editText3.setText(sdfYear.format(currentDate)+"년"+sdfMon.format(currentDate)+"월"+sdfDay.format(currentDate)+"일");
}

protected void updateEditText(){
StringBuffer sb = new StringBuffer();
editText3.setText(sb.append(iYear+"년").append((iMonth+1) + "월").append(iDay+"일")
);
}

DatePickerDialog.OnDateSetListener dateSetListener = new DatePickerDialog.OnDateSetListener(){
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
iYear = year;
iMonth = monthOfYear;
iDay = dayOfMonth;
updateEditText();
}
};

public void onText3Clicked(View v) {

String strDate = editText3.getText().toString();
strDate=strDate.replace("년","/").replace("월","/").replace("일","/");

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd/");
try{
Date pickDate = new Date(strDate);
Calendar cal = Calendar.getInstance();
cal.setTime(pickDate);
Dialog dia = null;
//strDate값을 기본값으로 날짜 선택 다이얼로그 생성
dia =new DatePickerDialog(this, dateSetListener,cal.get(Calendar.YEAR),cal.get(Calendar.MONTH),cal.get(Calendar.DAY_OF_MONTH));
dia.show();
}catch(Exception e){
e.printStackTrace();
}
}

public void onButtonClicked(View v) {
try {
Toast toastView = Toast.makeText(this,
"이름:"+editText.getText().toString()+"/나이:"+editText2.getText().toString()+"/생년월일:"+editText3.getText().toString(),
Toast.LENGTH_LONG);

toastView.show();

} catch (NumberFormatException ex) {
Toast.makeText(this, ex.getMessage(), Toast.LENGTH_LONG).show();
}
}
}