5

我正在制作一个具有 2 个数字选择器、年份和月份的数字选择器对话框。我想在这 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);
4

4 回答 4

12

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

numberPickerMonth.setValue(defaultQuanity);
于 2016-08-16T09:04:26.900 回答
3

仔细阅读:

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

  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
于 2016-08-16T09:08:33.810 回答
1

首先,您需要找到您的资源 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);
于 2018-01-22T01:07:57.793 回答
0

例如,您可以使用

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

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

于 2016-08-16T09:00:17.557 回答