【问题标题】:Closed - Setting NumberPicker default value关闭 - 设置 NumberPicker 默认值
【发布时间】:2016-12-22 13:46:42
【问题描述】:

我正在制作一个具有 2 个数字选择器、年份和月份的数字选择器对话框。我想在这两个数字选择器中显示一些默认值,除了 0, 0

代码::

    final NumberPicker numberPickerYear = (NumberPicker) expDialog.findViewById(R.id.numberPickerYears);
    final NumberPicker numberPickerMonth = (NumberPicker) expDialog.findViewById(R.id.numberPickerMonths);

    numberPickerYear.setMaxValue(35);
    numberPickerYear.setMinValue(0);
    numberPickerYear.setWrapSelectorWheel(true);

    numberPickerMonth.setMaxValue(11);
    numberPickerMonth.setMinValue(0);
    numberPickerMonth.setWrapSelectorWheel(true);

【问题讨论】:

  • 你试过 numberPickerYear.setValue(9);
  • 首先在 google 上搜索。老问题

标签: android android-number-picker


【解决方案1】:

默认情况下,NumberPicker 中的 maxValue 和 minValue 为 0。所以在使用 setValue 之前需要设置 maxValue 和 minValue。

numberPickerMonth.setValue(defaultQuanity);

【讨论】:

    【解决方案2】:

    仔细阅读:

    void setValue(整数值) 设置数字选择器的当前值。

    1. 如果参数小于getMinValue() 并且getWrapSelectorWheel() 为假,则当前值设置为 getMinValue() 值。
    2. 如果参数小于getMinValue() 并且getWrapSelectorWheel() 为真,则当前值设置为 getMaxValue() 值。
    3. 如果参数小于getMaxValue() 并且getWrapSelectorWheel() 为假,则当前值设置为 getMaxValue() 值。
    4. 如果参数小于getMaxValue() 并且getWrapSelectorWheel() 为真,则当前值设置为 getMinValue() 值。
        final NumberPicker numberPickerYear = (NumberPicker) expDialog.findViewById(R.id.numberPickerYears);
        final NumberPicker numberPickerMonth = (NumberPicker) expDialog.findViewById(R.id.numberPickerMonths);
    
        numberPickerYear.setMaxValue(35);
        numberPickerYear.setMinValue(0);
        numberPickerYear.setWrapSelectorWheel(true);
        numberPickerYear.setValue(17);// here to set default value of 
    
        numberPickerMonth.setMaxValue(11);
        numberPickerMonth.setMinValue(0);
        numberPickerMonth.setWrapSelectorWheel(true);
        numberPickerMonth.setValue(5);// here to set default value of numberPickerMonth
    

    【讨论】:

      【解决方案3】:

      首先,您需要找到您的资源 id 并像这样分配最大值和最小值:

      final NumberPicker numberPickerYear = (NumberPicker) expDialog.findViewById(R.id.numberPickerYears);
      final NumberPicker numberPickerMonth = (NumberPicker) expDialog.findViewById(R.id.numberPickerMonths);
      
      numberPickerYear.setMaxValue(35);
      numberPickerYear.setMinValue(0);
      numberPickerYear.setWrapSelectorWheel(true);
      
      numberPickerMonth.setMaxValue(11);
      numberPickerMonth.setMinValue(0);
      numberPickerMonth.setWrapSelectorWheel(true);
      

      然后最后像这样添加两个默认值:

      numberPickerYear.setValue(5);
      numberPickerMonth.setValue(2);
      

      【讨论】:

        【解决方案4】:

        例如,您可以使用设置值

        numberPickerYear.setValue(default_year);
        numberPickerMonth.setValue(default_month);
        

        更多信息请访问: https://developer.android.com/reference/android/widget/NumberPicker.html

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-09-01
          • 2020-07-01
          • 2013-01-18
          • 2014-02-25
          • 1970-01-01
          • 2015-02-05
          • 1970-01-01
          • 2019-06-21
          相关资源
          最近更新 更多