버튼을 하나 만들고 그 버튼을 누르면 Datepicker가 나오는데 년 월 만 선택 할 수 있게 하는 방법을
알고 싶습니다.
이런식으로 했는데도 계속 달력이 나오고 일을 선택하게 나오네요...
//조회일자 클릭
public void btdt_Click(View v)
{
try
{
DatePickerDialog datePickerDialog = new DatePickerDialog(m5Activity.this, onDateSetListener, mYear, mMonth, 1);
Field[] f = datePickerDialog.getClass().getDeclaredFields();
for (Field dateField : f)
{
if (dateField.getName().equals("mDatePicker"))
{
dateField.setAccessible(true);
DatePicker datePicker = (DatePicker) dateField.get(datePickerDialog);
Field datePickerFields[] = dateField.getType().getDeclaredFields();
for (Field datePickerField : datePickerFields)
{
if (datePickerField.getName().equals("mDayPicker") || datePickerField.getName().equals("mDaySpinner"))
{
datePickerField.setAccessible(true);
Object dayPicker = new Object();
dayPicker = datePickerField.get(datePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
}
}
datePickerDialog.show();
}
catch (IllegalArgumentException e)
{
e.printStackTrace();
}
catch (IllegalAccessException e)
{
e.printStackTrace();
}
bt_date = v;
}
//조회기간선택 date picker dateSetListener
private DatePickerDialog.OnDateSetListener onDateSetListener = new DatePickerDialog.OnDateSetListener()
{
public void onDateSet(android.widget.DatePicker arg0, int year, int month, int day)
{
mYear = year;
mMonth = month;
int localMonth = (mMonth + 1);
String monthString = localMonth < 10 ? "0" + localMonth : Integer.toString(localMonth);
String localYear = Integer.toString(mYear);
((Button) bt_date).setText(new StringBuilder() .append(localYear).append("-").append(monthString));
fromdt = ((Button) bt_date).getText().toString().replace("-", "").trim();
}
};