встроенный DatePicker в Android - PullRequest
0 голосов
/ 13 мая 2011

Я занимаюсь разработкой приложения для Android, в котором мне нужно собрать дату рождения в форме. Поэтому я использовал просмотр текста с помощью средства выбора даты, как показано ниже

enter image description here

Я хочувыберите дату и сохраните ее в виде целых чисел, таких как месяц, день, год.Я пробовал много примеров, но все имеют дело с диалоговым окном.Никто из них не показал использование встроенного DatePicker :-( Пожалуйста, помогите мне.

Ответы [ 2 ]

1 голос
/ 13 мая 2011

Просто используйте методы getYear(), getMonth() и getDayOfMonth():

DatePicker datePicker = (DatePicker) findViewById(R.id.my_date);    

int year = datePicker.getYear();
int month = datePicker.getMonth();
int day = datePicker.getDayOfMonth();
0 голосов
/ 13 мая 2011

В приведенном ниже примере я прикрепил функциональность изменения даты по клику EditText.Точно так же, если у вас есть кнопка для сохранения, вы можете прикрепить эту функцию, чтобы сохранить дату в требуемом формате.Просто чтобы получить дату, месяц и год, используйте следующие методы:

datePicker.getYear (), getMonth (), getDayOfMonth ().

Обратите внимание, что вам нужно добавить 1, чтобы получитьправильный месяц как представление месяца Java немного отличается.отображение выглядит так - 0 января, 1 февраля ... 11 декабря.

private TextView mDateDisplay;
private DatePicker mDatePicker;
private int mYear;
private int mMonth;
private int mDay;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mDateDisplay = (TextView)findViewById(R.id.datevalue);
    mDatePicker = (DatePicker)findViewById(R.id.datepicker1);
    mDateDisplay.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            mYear = mDatePicker.getYear();
            mMonth = mDatePicker.getMonth();
            mDay = mDatePicker.getDayOfMonth();

            mDateDisplay.setText(new StringBuilder()
            // Month is 0 based so add 1
            .append(mMonth + 1).append("-")
            .append(mDay).append("-")
            .append(mYear).append(" "));
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...