2013-03-23 90 views
0

嗨是否有任何正確的方法來隱藏日期選擇器在datepickerdialog?我正在使用本機android datepickerdialog不是一個自定義的datepickerdialog。希望有人能幫忙。隱藏日期選擇器在datepickerdialog

下面是我對datepickerdialog代碼:

Button.OnClickListener monthOnClickListener 
= new Button.OnClickListener(){ 
    @Override 
    public void onClick(View arg0) { 
     DialogFragment newFragment = new SelectDateFragment(); 
     newFragment.show(getFragmentManager(), "DatePicker"); 
    } 
}; 

public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     final Calendar calendar = Calendar.getInstance(); 
     int yy = calendar.get(Calendar.YEAR); 
     int mm = calendar.get(Calendar.MONTH); 
     int dd = calendar.get(Calendar.DAY_OF_MONTH); 

     return new DatePickerDialog(getActivity(), this, yy, mm, dd); 
    } 

    public void onDateSet(DatePicker view, int yy, int mm, int dd) { 
     String year=yy+"", month, day; 
     mm = mm+1; 

     if (dd==1 || dd==2 || dd==3 || dd==4 || dd==5 || dd==6 || dd==7 || dd==8 || dd==9) 
      day = "0"+ dd; 
     else 
      day = dd + ""; 

     if (mm==1 || mm==2 || mm==3 || mm==4 || mm==5 || mm==6 || mm==7 || mm==8 || mm==9) 
      month = "0"+ mm; 
     else 
      month = mm + ""; 
    } 

} 

我有谷歌隱藏當天選擇器的方式,但它似乎沒有任何效果。以下是我試過的代碼。

public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener { 
    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     final Calendar calendar = Calendar.getInstance(); 
     int yy = calendar.get(Calendar.YEAR); 
     int mm = calendar.get(Calendar.MONTH); 
     int dd = calendar.get(Calendar.DAY_OF_MONTH); 

     DatePickerDialog dpd = new DatePickerDialog(getActivity(), this,yy,mm, dd); 
      try{ 
      java.lang.reflect.Field[] datePickerDialogFields = dpd.getClass().getDeclaredFields(); 
      for (java.lang.reflect.Field datePickerDialogField : datePickerDialogFields) { 
       if (datePickerDialogField.getName().equals("mDatePicker")) { 
        datePickerDialogField.setAccessible(true); 
        DatePicker datePicker = (DatePicker) datePickerDialogField.get(dpd); 
        java.lang.reflect.Field[] datePickerFields = datePickerDialogField.getType().getDeclaredFields(); 
        for (java.lang.reflect.Field datePickerField : datePickerFields) { 
         if ("mDayPicker".equals(datePickerField.getName())) { 
          datePickerField.setAccessible(true); 
          Object dayPicker = new Object(); 
          dayPicker = datePickerField.get(datePicker); 
          ((View) dayPicker).setVisibility(View.GONE); 
         } 
        } 
       } 

       } 
      }catch(Exception ex){ 
      } 
      return dpd; 
     //return new DatePickerDialog(getActivity(), this, yy, mm, dd); 
    } 

回答

0

alnog與「mDatePicker」使用用途也是「mDaySpinner」這一

+0

對不起,我沒有得到什麼ü意思。 – Bryanleesh 2013-03-23 17:09:00