2013-03-23 3 views
0

Привет есть ли какой-либо правильный способ скрыть сборщик дней в datepickerdialog? Я использую родной андроид 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 + ""; 
    } 

} 

У меня есть Google для способа сокрытия день сборщика, но это, кажется, не имеют никакого эффекта. Ниже приведен код, который я пробовал.

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

 Смежные вопросы

  • Нет связанных вопросов^_^