Currently I m using native dialog box with modification to hide date Spinner and that is working fine.
But now i want to set date in such a format that when i spin month spinner or year spinner the Dialog box simply show the month and year not the complete calender date my custom code for date picker dialog is following :
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
// set date picker as current date
DatePickerDialog datePickerDialog = this.customDatePicker();
return datePickerDialog;
}
return null;
}
private DatePickerDialog.OnDateSetListener datePickerListener
= new DatePickerDialog.OnDateSetListener() {
// when dialog box is closed, below method will be called.
@Override
public void onDateSet(DatePicker datepickerView, int selectedYear,
int selectedMonth, int selectedDay) {
/* year = selectedYear;
month = selectedMonth;
day = selectedDay;*/
mynewYear=selectedYear;
myNewMonth=selectedMonth;
myNewDay=selectedDay;
try {
checkDate();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
/*time_date_TV.setText(new StringBuilder()
.append(myNewMonth + 1).append("/")
.append(myNewDay ).append("/").append(mynewYear));
*/
}
};
private DatePickerDialog customDatePicker() {
DatePickerDialog dpd = new DatePickerDialog(context, android.R.style.Theme_Holo_Light_Dialog,datePickerListener,
year, month,day );
if(month==0)
{
mmonth="January";
}
if(month==1)
{
mmonth="Faburary";
}
if(month==2)
{
mmonth="March";
}
if(month==3)
{
mmonth="April";
}
if(month==4)
{
mmonth="May";
}
if(month==5)
{
mmonth="June";
}
if(month==6)
{
mmonth="July";
}
if(month==7)
{
mmonth="August";
}
if(month==8)
{
mmonth="September";
}if(month==9)
{
mmonth="October";
}
if(month==10)
{
mmonth="November";
}
if(month==11)
{
mmonth="December";
}
dpd.setTitle(""+mmonth+", "+year);
try {
Field[] datePickerDialogFields = dpd.getClass().getDeclaredFields();
for (Field datePickerDialogField : datePickerDialogFields) {
if (datePickerDialogField.getName().equals("mDatePicker")) {
datePickerDialogField.setAccessible(true);
DatePicker datePicker = (DatePicker) datePickerDialogField
.get(dpd);
Field datePickerFields[] = datePickerDialogField.getType()
.getDeclaredFields();
for (Field datePickerField : datePickerFields) {
if ("mDayPicker".equals(datePickerField.getName())
|| "mDaySpinner".equals(datePickerField
.getName())) {
datePickerField.setAccessible(true);
Object dayPicker = new Object();
dayPicker = datePickerField.get(datePicker);
((View) dayPicker).setVisibility(View.GONE);
}
}
}
}
} catch (Exception ex) {
}
return dpd;
}
When dialog box first time get popped up it works fine as i set the title of the
DatePickerDialog.setTitle("");
but that works fine when dialog box get popped up for the first time but i want to update on ondatechangelistner
so how can i do that