2016-05-20 4 views
1

Мне нужен простой и быстрый способ принять полную дату (с часами и минутами) от пользователя моего приложения. Что я должен использовать? Я рассматривал Date and Time Picker, но оба используют много места в макете своей деятельности ... Спасибо. JeffersonВыбор даты и времени, какое лучшее (и простое) решение?

+0

Вы можете использовать диалог выбора даты и времени. см. пример http://www.journaldev.com/9976/android-date-and-time-picker-dialog-example-tutorial – Ankur1994a

+0

Спасибо [Ankur1994a] (http://stackoverflow.com/users/4563338/ankur1994a), Я нашел элегантное решение только после вашей ссылки. –

+0

Добро пожаловать, пожалуйста, проголосуйте за мой комментарий, чтобы получить мои баллы, если вы считаете его полезным для вас – Ankur1994a

ответ

4

Следуя пример, что Ankur1994a дал, я сделал простой метод, который реагирует на событие щелчка на IMAGEBUTTON. Этот метод создает диалоговое окно DatePicker, а затем, после выбора пользователя, создает Time Picker. Простой и эффективный.

public void escolheDataHoraInicio(View v) { 

    // Pega a data e hora corrente 
    final Calendar c = Calendar.getInstance(); 

    Integer mYear = c.get(Calendar.YEAR);; 
    Integer mMonth = c.get(Calendar.MONTH); 
    Integer mDay = c.get(Calendar.DAY_OF_MONTH); 

    DatePickerDialog datePickerDialog = new DatePickerDialog(ProvaNovaActivity.this, new DatePickerDialog.OnDateSetListener() { 
      @Override 
      public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
       String _data = dayOfMonth + "/" + (monthOfYear + 1) + "/" + year; 
       _lblDataHoraInicio.setText(_data); 
       TimePickerDialog timePickerDialog = new TimePickerDialog(ProvaNovaActivity.this, new TimePickerDialog.OnTimeSetListener() { 
        @Override 
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
         String _dataHora = _lblDataHoraInicio.getText().toString() + " " + hourOfDay + ":" + minute; 
         _lblDataHoraInicio.setText(_dataHora); 
        } 
       }, 0, 0, false); 
       timePickerDialog.show(); 
      } 
     }, mYear, mMonth, mDay); 
    datePickerDialog.show(); 

} 
1

Ответ на ваш заголовок-вопрос: Анджей-библиотека: better pickers. Легко реализуется. Время-подборщик выглядит следующим образом:

TimePicker from better pickers

Я рассмотрел Дату и время Picker, но и использовать для большого пространства в макете моей деятельности в

Это диалоговое окно, поэтому он должен иметь ничего (или я неправильно понял вас?).

Надеется, что я мог бы вам помочь :)

+0

[Micha F.] (http://stackoverflow.com/users/5433102/micha-f), я помещал Pickers INSIDE макет деятельности. Не знаю, я знаю. Это еще раз повод для развития VB6. В любом случае, спасибо. –