DatePickerDialog를 사용하여 텍스트보기에서 선택한 날짜를 가져와야합니다. textview를 클릭하면 DatePickerDialog가 나타납니다. 날짜 선택 대화 상자 수신기
나는이private DatePickerDialog.OnDateSetListener dateOnDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
datePick.setText(new StringBuilder().append(selectedDay).append("-").append(selectedMonth).append("-").append(selectedYear));
}
};
datePick = (TextView) findViewById(R.id.date_pick);
datePick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Calendar calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
monthOfYear = calendar.get(Calendar.MONTH);
dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
new DatePickerDialog(getContext(), dateOnDateSetListener, year, monthOfYear, dayOfMonth);
}
});
하지만 그 작동하지를 썼다. 그래서 내가 인터넷 검색을 사용하여이 기능과 작동 방식을 변경했지만 왜 그렇게 이해할 수 없습니까? 위의 코드
datePick = (TextView) findViewById(R.id.date_pick);
datePick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Calendar calendar = Calendar.getInstance();
year = calendar.get(Calendar.YEAR);
monthOfYear = calendar.get(Calendar.MONTH);
dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
showDialog(DATE_DIALOG_ID);
}
});
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
// set date picker as current date
return new DatePickerDialog(this, dateOnDateSetListener,
year, monthOfYear,dayOfMonth);
}
return null;
}
private DatePickerDialog.OnDateSetListener dateOnDateSetListener = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int selectedYear, int selectedMonth, int selectedDay) {
datePick.setText(new StringBuilder().append(selectedDay).append("-").append(selectedMonth).append("-").append(selectedYear));
}
};
OMG ... 그런 어리석은 실수. 고마워요. – Ashish0294