Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.66 KB | None | 0 0
  1. public class MainActivity extends Activity {
  2.  static final int DATE_DIALOG_ID = 1;
  3.  private int mYear;
  4.  private int mMonth;
  5.  private int mDay;
  6.  private EditText etPickADate;
  7.  
  8.  @Override
  9.  protected void onCreate(Bundle savedInstanceState) {
  10.   super.onCreate(savedInstanceState);
  11.   setContentView(R.layout.main);
  12.   etPickADate = (EditText) findViewById(R.id.et_datePicker);
  13.   etPickADate.setOnClickListener(new OnClickListener() {
  14.  
  15.    @Override
  16.    public void onClick(View arg0) {
  17.     showDialog(DATE_DIALOG_ID);
  18.    }
  19.   });
  20.  
  21.   final Calendar c = Calendar.getInstance();
  22.   mYear = c.get(Calendar.YEAR);
  23.   mMonth = c.get(Calendar.MONTH);
  24.  }
  25.  
  26.  DatePickerDialog.OnDateSetListener mDateSetListner = new OnDateSetListener() {
  27.  
  28.   @Override
  29.   public void onDateSet(DatePicker view, int year, int monthOfYear,
  30.     int dayOfMonth) {
  31.  
  32.    mYear = year;
  33.    mMonth = monthOfYear;
  34.    mDay = dayOfMonth;
  35.    updateDate();
  36.   }
  37.  };
  38.  
  39.  @Override
  40.  protected Dialog onCreateDialog(int id) {
  41.   switch (id) {
  42.   case DATE_DIALOG_ID:
  43.    /*
  44.    * return new DatePickerDialog(this, mDateSetListner, mYear, mMonth,
  45.    * mDay);
  46.    */
  47.    DatePickerDialog datePickerDialog = this.customDatePicker();
  48.    return datePickerDialog;
  49.   }
  50.   return null;
  51.  }
  52.  
  53.  protected void updateDate() {
  54.   int localMonth = (mMonth + 1);
  55.   String monthString = localMonth < 10 ? "0" + localMonth : Integer
  56.     .toString(localMonth);
  57.   String localYear = Integer.toString(mYear).substring(2);
  58.   etPickADate.setText(new StringBuilder()
  59.   // Month is 0 based so add 1
  60.     .append(monthString).append("/").append(localYear).append(" "));
  61.   showDialog(DATE_DIALOG_ID);
  62.  }
  63.  
  64.  private DatePickerDialog customDatePicker() {
  65.   DatePickerDialog dpd = new DatePickerDialog(this, mDateSetListner,
  66.     mYear, mMonth, mDay);
  67.   try {
  68.  
  69.    Field[] datePickerDialogFields = dpd.getClass().getDeclaredFields();
  70.    for (Field datePickerDialogField : datePickerDialogFields) {
  71.     if (datePickerDialogField.getName().equals("mDatePicker")) {
  72.      datePickerDialogField.setAccessible(true);
  73.      DatePicker datePicker = (DatePicker) datePickerDialogField
  74.        .get(dpd);
  75.      Field datePickerFields[] = datePickerDialogField.getType()
  76.        .getDeclaredFields();
  77.      for (Field datePickerField : datePickerFields) {
  78.       if ("mDayPicker".equals(datePickerField.getName())
  79.         || "mDaySpinner".equals(datePickerField
  80.           .getName())) {
  81.        datePickerField.setAccessible(true);
  82.        Object dayPicker = new Object();
  83.        dayPicker = datePickerField.get(datePicker);
  84.        ((View) dayPicker).setVisibility(View.GONE);
  85.       }
  86.      }
  87.     }
  88.  
  89.    }
  90.   } catch (Exception ex) {
  91.   }
  92.   return dpd;
  93.  }
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement