Получение значений DatePicker. Текущая полученная дата - PullRequest
0 голосов
/ 10 марта 2012

У меня есть DatePicker в моем приложении, я использую этот код для получения его значений:

    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();

Однако, при нажатии на кнопку у меня всегда есть текущая дата, которая извлекается / отображается в Toast, а не значения, установленные в DatePicker.Можете ли вы помочь мне решить эту проблему?Большое спасибо.

Ответы [ 2 ]

1 голос
/ 10 марта 2012

Попробуйте код внутри onClick.

Что-то вроде

  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();
}
1 голос
/ 10 марта 2012

используйте их внутри onClick функции

    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);
...