android - TimePickerDialog 在设置时自动关闭

标签 android view timepicker dismiss

我如何禁用 TimePickerDialog 在按下设置时关闭?

我需要检查值是否合适,如果不是,我不希望它被忽略。

mTimePicker.setCancelable(true);

但我确实希望用户能够通过取消...

    TimePickerDialog mTimePicker;
            mTimePicker = new TimePickerDialog(this,
                    new TimePickerDialog.OnTimeSetListener() {
                        @Override
                        public void onTimeSet(TimePicker timePicker,
                                int selectedHour, int selectedMinute) {

                            if(condition){
                            mTimePicker.dismiss();

                               }else{
                            showMessage();
                                    }

                        }
                    }, hour, minute, false);// Yes 24 hour time
            mTimePicker.setTitle(getString(R.string.select_time));

            mTimePicker.show();

最佳答案

我将给出 Jesus Dimrix 的示例代码再次调用 mTimepicker.show() 的“唯一解决方案”。

Calendar c = Calendar.getInstance();
final int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);

timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
       @Override
       public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
           if(hourOfDay > 12){
               timePickerDialog = new TimePickerDialog(MainActivity.this,this,hourOfDay,minute,true);
               timePickerDialog.show();
               Toast.makeText(MainActivity.this,"Must be less than 12",Toast.LENGTH_SHORT).show();
           }else{
               Toast.makeText(MainActivity.this,hourOfDay + ":" + minute,Toast.LENGTH_SHORT).show();
                }
            }
       }, hour, minute, true);
       timePickerDialog.show();

我希望其他人能给出更好的解决方案。

关于android - TimePickerDialog 在设置时自动关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28212810/

相关文章:

android - 在 Android 的 Spinner 中未选择位置 0

java - 简化条件

xml - Powershell和Lotus Notes-将While循环的输出从文本更改为XML输出

java - 使用 DatePicker 和 TimePicker 对话框 - Eclipse 中的 Android Java

javascript - TimePicker Razor ASP.NET-MVC

Android列表-列表标题中的编辑文本

android - 如何在运行时使用动态 ID 添加 android View

postgresql - 在 PostgreSQL 的 View 中更改列名

Android 添加自定义属性到 View.animate().*