Ejemplo n.º 1
0
  @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;
  }