Hide Date from Date Picker

前端 未结 6 1593
谎友^
谎友^ 2020-12-18 13:16

Currently I am using date picker native one but i want to change it in such a way that i only needed month and year how to modify this my code is following



        
6条回答
  •  误落风尘
    2020-12-18 14:03

    Simply way - just to hide NumberPicker in datePickerDialog here is code from my project

    public class SelectDateFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {
    
            final Calendar c = Calendar.getInstance();
    
            DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, c.get(Calendar.YEAR),
                    c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH));
    
            dialog.getDatePicker().setSpinnersShown(true);
    
            // hiding calendarview and daySpinner in datePicker
                dialog.getDatePicker().setCalendarViewShown(false);
    
                LinearLayout pickerParentLayout = (LinearLayout) dialog.getDatePicker().getChildAt(0);
    
                LinearLayout pickerSpinnersHolder = (LinearLayout) pickerParentLayout.getChildAt(0);
    
                pickerSpinnersHolder.getChildAt(0).setVisibility(View.GONE);
    
    
            dialog.setTitle("Pick a date");
            return dialog;
        }
    
        public void onDateSet(DatePicker view, int yy, int mm, int dd) {
    
            Calendar result = Calendar.getInstance();
    
            result.set(Calendar.YEAR, yy);
            result.set(Calendar.MONDAY, mm);
            result.set(Calendar.DAY_OF_MONTH, dd);
    
            if (currentWeek != -1) {
                updateDateWeek(result.getTimeInMillis());
            } else {
                updateDate(result.getTimeInMillis());
            }
        }
    }
    

    to show picker just call

    DialogFragment newFragment = new SelectDateFragment();
    newFragment.show(getActivity().getSupportFragmentManager(), "DatePicker");
    

提交回复
热议问题