@Override public View onCreateView( LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_edit_event, container, false); // Set title if (((MainActivity) getActivity()).getSupportActionBar() != null) { if (newEvent) ((MainActivity) getActivity()).getSupportActionBar().setTitle("New event"); else ((MainActivity) getActivity()).getSupportActionBar().setTitle("Edit event"); } // Views editName = (EditText) view.findViewById(R.id.edit_event_name); editInfo = (EditText) view.findViewById(R.id.edit_event_info); editStartDate = (Button) view.findViewById(R.id.edit_event_startDate); editStartTime = (Button) view.findViewById(R.id.edit_event_startTime); editEndDate = (Button) view.findViewById(R.id.edit_event_endDate); editEndTime = (Button) view.findViewById(R.id.edit_event_endTime); // Locations spinner editLocation = (Spinner) view.findViewById(R.id.edit_event_location); ArrayAdapter<String> adapter = new ArrayAdapter<>(getActivity(), android.R.layout.simple_spinner_item, locationNamesList); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); editLocation.setAdapter(adapter); editLocation.setOnItemSelectedListener(this); // Date/time buttons Calendar start = Calendar.getInstance(); Calendar end = Calendar.getInstance(); if (!newEvent) { start.setTime(startTime); end.setTime(endTime); } // Button text String startDateText = start.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.US) + " " + start.get(Calendar.DATE) + ", " + start.get(Calendar.YEAR); String startTimeMinutes = (start.get(Calendar.MINUTE) == 0) ? "00" : Integer.toString(start.get(Calendar.MINUTE)); String startTimeText = start.get(Calendar.HOUR) + ":" + startTimeMinutes; String endDateText = end.getDisplayName(Calendar.MONTH, Calendar.SHORT, Locale.US) + " " + end.get(Calendar.DATE) + ", " + end.get(Calendar.YEAR); String endTimeMinutes = (end.get(Calendar.MINUTE) == 0) ? "00" : Integer.toString(end.get(Calendar.MINUTE)); String endTimeText = end.get(Calendar.HOUR) + ":" + endTimeMinutes; editStartDate.setText(startDateText); editEndDate.setText(endDateText); editStartTime.setText(startTimeText); editEndTime.setText(endTimeText); // Button on click listener editStartDate.setOnClickListener(this); editStartTime.setOnClickListener(this); editEndDate.setOnClickListener(this); editEndTime.setOnClickListener(this); // Edit texts if (!newEvent) { editName.setText(this.name); editInfo.setText(this.info); } // Pickers sd = new DatePickerFragment(); sd.setListener(this); sd.setData(newEvent, this.startTime); st = new TimePickerFragment(); st.setListener(this); st.setData(newEvent, startTime); ed = new DatePickerFragment(); ed.setListener(this); ed.setData(newEvent, endTime); et = new TimePickerFragment(); et.setListener(this); et.setData(newEvent, endTime); return view; }