Recuperando valores de DatePicker Fecha actual recuperada

Tengo un DatePicker en mi aplicación, estoy usando este código para recuperar sus valores:

    DatePicker d= (DatePicker) findViewById(R.id.datePicker1);
             int day = d.getDayOfMonth();
             int month = d.getMonth() + 1;
             int year = d.getYear();

             final String x=String.valueOf(day);
             final String y=String.valueOf(month);
             final String z=String.valueOf(year);

                 Button button1= (Button) (findViewById(R.id.button1));
                    button1.setOnClickListener(new View.OnClickListener() {
                         @Override
                        public void onClick(View v) {
Toast.makeText(SNCFTActivity.this, x+" " +y+ " "+z, Toast.LENGTH_LONG).show();

Sin embargo, al tocar el botón, siempre tengo la fecha actual que se recupera/muestra en Toast, no los valores establecidos en DatePicker. ¿Pueden por favor ayudarme a resolver ese problema? Muchísimas gracias.

preguntado el 10 de marzo de 12 a las 16:03

2 Respuestas

úsalos dentro de tu onClick función

    int day = d.getDayOfMonth();
     int month = d.getMonth() + 1;
     int year = d.getYear();

     final String x=String.valueOf(day);
     final String y=String.valueOf(month);
     final String z=String.valueOf(year);

respondido 10 mar '12, 16:03

Dios mío, ¡qué error cometí :(! ¡Odio cometer esos errores! Muchas gracias, Hesham, machkouur :). - androniennn

Pruebe el código dentro de onClick.

Algo como

  Button button1= (Button) (findViewById(R.id.button1));
                button1.setOnClickListener(new View.OnClickListener() {
                     @Override
                    public void onClick(View v) {

int day = d.getDayOfMonth();
         int month = d.getMonth() + 1;
         int year = d.getYear();

         final String x=String.valueOf(day);
         final String y=String.valueOf(month);
         final String z=String.valueOf(year);
Toast.makeText(SNCFTActivity.this, x+" " +y+ " "+z, Toast.LENGTH_LONG).show();
}

respondido 10 mar '12, 17:03

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.