【问题标题】:how disable "autoscroll" hour on set value minute in time picker android如何在时间选择器android中禁用设定值分钟的“自动滚动”小时
【发布时间】:2015-01-21 13:08:42
【问题描述】:

我在 Android 上有一个带两个轮子的 TimePicker。首先,我有 0 - 24 格式的小时数,最后我有间隔步长的分钟数(通常是 0 - 30)。

当我更改时间时一切正常,当我在分钟 timePicker 中设置新值时也会更改小时。有什么办法可以预防吗?

这是我设置轮子值的代码:

    Class<?> classForid = Class.forName("com.android.internal.R$id");

    //picker ore
    Field fieldHour = classForid.getField("hour");

    hourPicker = (NumberPicker) timePicker.findViewById(fieldHour.getInt(null));
    hourPicker.setMinValue(startHour);
    hourPicker.setMaxValue(endHour);

    //picker minuti
    Field fieldMinute = classForid.getField("minute");

    minutePicker = (NumberPicker) timePicker.findViewById(fieldMinute.getInt(null));
    minutePicker.setMinValue(0);
    minutePicker.setMaxValue(numberFractionHour - 1);

    float pickerInterval = 60 / numberFractionHour;
    displayedMinutesValues = new ArrayList<String>();
    for (int i = 0; i < 60; i += pickerInterval)
        displayedMinutesValues.add(String.format("%02d", i));

    minutePicker.setDisplayedValues(displayedMinutesValues.toArray(new String[0])); 

提前致谢。

【问题讨论】:

    标签: android scroll timepicker


    【解决方案1】:

    使用下面的代码来防止 hourPicker 被更新。

    minutePicker.setOnValueChangedListener(null);
    

    【讨论】:

      【解决方案2】:

      我认为,问题和以前的答案没有得到正确的理解,如何决定这个问题。

      下一段代码可以完整回答这个问题

      final TimePicker timePicker = dialoglayout.findViewById(R.id.timePicker);
      
      Class<?> classForid = null;
      try {
          classForid = Class.forName("com.android.internal.R$id");
          Field fieldMinute = classForid.getField("minute");
          NumberPicker minutePicker = (NumberPicker) timePicker.findViewById(fieldMinute.getInt(null));
          minutePicker.setOnValueChangedListener(null); //the method to stop autoscrolling
      } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
          e.printStackTrace();
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-20
        • 2011-04-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多