1

Я пользуюсь этой ссылкой Android TimePickerDialog set max time.android: TimePickerDialog предотвратить выбор пользователя в любое время и можете выбрать будущие дни с новой датой

Я новичок в android. С помощью этого кода я не могу выбрать прошедшее время, но мы не можем выбрать будущее время. Когда 12 выбран в режиме timepickerdialog, измените его автоматически на следующий день, а не на следующий день.

+0

Я спрашиваю сэр. –

+0

Я новичок в android. Я работаю над этой задачей. –

+0

Сначала прочитайте эту ссылку http://stackoverflow.com/help/how-to-ask. В нынешней ситуации совершенно непонятно, чего вы хотите достичь и какова ваша проблема. Поэтому сначала отредактируйте свой вопрос в соответствии со ссылкой и сделайте ее более понятной и точной. –

ответ

2

попробовать этот код:

TimePickerFragment timePickerFragment = new TimePickerFragment(); 
      timePickerFragment.setOnTimeSetListener(new OnTimeSetListener() { 
       public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
        Calendar datetime = Calendar.getInstance(); 
        Calendar c = Calendar.getInstance(); 
        datetime.set(Calendar.HOUR_OF_DAY, hourOfDay); 
        datetime.set(Calendar.MINUTE, minute); 
        if (datetime.getTimeInMillis() >= c.getTimeInMillis()) { 
         //it's after current 
         int hour = hourOfDay % 12; 
        btnPickStartTime.setText(String.format("%02d:%02d %s", hour == 0 ? 12 : hour, 
          minute, hourOfDay < 12 ? "am" : "pm")); 
        } else { 
         //it's before current' 
         Toast.makeText(getApplicationContext(), "Invalid Time", Toast.LENGTH_LONG).show(); 
        } 
       } 
      }); 
      timePickerFragment.show(getSupportFragmentManager(), "TIME"); 

будет показывать timepicker диалог, и если пользователь выбирает любое время до текущего времени ... он покажет некорректное время ..

+0

спасибо, что он работает .. –

+0

рад помочь .. – rafsanahmad007

1

Лучшее решение для вас будет использовать библиотеку материалов для дизайна this, чтобы выбрать время или дату и установить минимальное значение.

TimePickerDialog tpd = TimePickerDialog.newInstance(
     new TimePickerDialog.OnTimeSetListener() { 
      @Override 
      public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute, int second) { 
       //put some interesting code 
      } 
     }, 
     now.get(Calendar.HOUR_OF_DAY), 
     now.get(Calendar.MINUTE), 
     true 
    ); 
    tpd.setMinTime(10, 0, 0); // MIN: hours, minute, secconds 
    tpd.show(getFragmentManager(), "TimePickerDialog"); 

Самый простой способ добавить библиотеку материалы DateTime Picker для вашего проекта, добавляя его в качестве зависимости к вашему build.gradle

dependencies { 
    compile 'com.wdullaer:materialdatetimepicker:3.0.0' 
} 

Надеется, что это поможет вам.