【问题标题】:Android- Change NumberPicker steps or increment [duplicate]Android-更改 NumberPicker 步骤或增量 [重复]
【发布时间】:2013-09-25 03:51:53
【问题描述】:

如何将NumberPicker 的增量从 1 更改为您想要的数字,例如 1000?

numberPicker.setMinValue(1000);
numberPicker.setMaxValue(15000);

这就是我设置我的 NumberPicker 的方式,我不想将它增加 1,因为你需要更长的时间才能达到 8000,因为步骤是 1。

我已经尝试过numberPicker.setDisplayedValues(somethig_array),但我仍然必须为所有值提供显示值。还是不适合我。

最后我尝试使用 OnValueChangeListener 中的 answer

numberPicker.setOnValueChangeListener(new NumberPicker.OnValueChangeListener() {

 @Override
 public void onChange(NumberPicker picker, int oldVal, int newVal) {
     picker.setValue((newVal < oldVal)?oldVal-1000:oldVal+1000);
 }
    });

即使 1000 的下一个数字是 2000,但它仍然会显示 10001-1999。 有没有办法修改 NumberPicker 的增量?

非常感谢任何想法。

【问题讨论】:

    标签: android


    【解决方案1】:

    setDisplayedValues() 是您想要的。一个简单的 for 循环可以帮助您非常简单地创建数组。

    int minValue = 1000;
    int maxValue = 15000;
    int step = 1000;
    
    String[] valueSet = new String[maxValue/minValue];
    
    for (int i = minValue; i <= maxValue; i += step) {
        valueSet[(i/step)-1] = String.valueOf(i);
    }
    

    【讨论】:

      猜你喜欢
      • 2010-12-13
      • 2017-08-11
      • 2012-10-10
      • 2012-12-15
      • 2019-08-06
      • 1970-01-01
      • 1970-01-01
      • 2016-03-06
      • 2012-11-25
      相关资源
      最近更新 更多