Skip to content

Instantly share code, notes, and snippets.

@enieber
Created November 3, 2015 19:03
Show Gist options
  • Select an option

  • Save enieber/50e46260ba2b0b7fe2ab to your computer and use it in GitHub Desktop.

Select an option

Save enieber/50e46260ba2b0b7fe2ab to your computer and use it in GitHub Desktop.

essa é a utilização do metodo de datePicker onde tenho dois Edit Text

edtDataFinal edtDataInicial

  public void initComponents() {
 edtDataInicial.setFocusable(false);
        edtDataFinal.setFocusable(false);

        edtDataInicial.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SelectDataFragment newFragment = new SelectDataFragment();
                newFragment.setDateSelected(edtDataInicial);
                newFragment.show(getFragmentManager(), "DatePicker");
            }
        });


        edtDataFinal.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                SelectDataFragment newFragment = new SelectDataFragment();
                newFragment.setDateSelected(edtDataFinal);
                newFragment.show(getFragmentManager(), "DatePicker");
            }
      });
  }

Esse metodo é uma abstração para eu consegui usa lo em outro lugar.

public class SelectDataFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {

    private EditText dateSelected;

    @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) {
        populateSetDate(yy, mm + 1, dd);
    }

    public void populateSetDate(int year, int month, int day) {

        String monthOut, dayOut;

        monthOut = Funcoes.validaDiaMesMenorQueDez(month);
        dayOut = Funcoes.validaDiaMesMenorQueDez(day);

        dateSelected.setText(dayOut + "/" + monthOut + "/" + year);
    }

    public void setDateSelected(EditText edtDate){
        this.dateSelected =  edtDate;
    }

}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment