【问题标题】:Time Interval of 5 miutes in android analog timepickerdialogandroid模拟timepickerdialog中5分钟的时间间隔
【发布时间】:2016-07-01 19:53:15
【问题描述】:

我有一个类似这样的 android Timepickerdialog: 我想自定义显示在 AM/PM 左侧屏幕上的分钟如果我的时间在 0-5 之间,我想给出 5 分钟的时间间隔,如果我的时间在 5- 之间,上部分钟应该显示 5 10分钟应该显示10,如果它在10-15之间应该显示15。 基本上我不希望在更改时间时显示诸如 1,2,3,4-6,7,8,9-11,12,13,14 ..... 之类的分钟。谁能帮忙? 我不想改变 timepickerdialog 的风格我想坚持同样的模拟

代码如下: 日历日历 = Calendar.getInstance(); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0);

    int modulo = calendar.get(Calendar.MINUTE) % 5;
    if(modulo > 0) {

        calendar.add(Calendar.MINUTE, -modulo);
    }

    calendar.add(Calendar.MINUTE, 5);


    TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener(){


        @Override
        public void onTimeSet(android.widget.TimePicker view, int hourOfDay, int minute) {




        }
    },calendar.HOUR,calendar.MINUTE,false);
    timePickerDialog.show();

【问题讨论】:

    标签: android


    【解决方案1】:

    试试这个。然后尝试将你从时钟得到的时间四舍五入

      Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.SECOND, 0);
        calendar.set(Calendar.MILLISECOND, 0);
    
        int modulo = calendar.get(Calendar.MINUTE) % 5;
        if(modulo > 0) {
    
            calendar.add(Calendar.MINUTE, -modulo);
        }
    
        myObject.setStartDate(calendar.getTime());
    
        calendar.add(Calendar.MINUTE, 5);
        myObject.setDueDate(calendar.getTime()); 
    

    【讨论】:

    • 你能解释一下吗?
    • 在调用您的选择器之前尝试设置日历并将修改后的日历对象传递给您的选择器
    • 你可以多做一件事。在 onTimeSet 你会得到时间,在那里你应用写在答案中的逻辑并转换时间并设置它..所以如果你得到 10.18 那么它将显示为 10.20 ..我认为你需要什么。
    • 我尝试按时设置时间,但它不起作用
    猜你喜欢
    • 1970-01-01
    • 2011-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-29
    • 2019-08-01
    • 2020-07-30
    • 1970-01-01
    相关资源
    最近更新 更多