使 NumberPicker 字符串值可重复
Make NumberPicker string values repeatable
当我向一个方向移动时,如何使 NumberPicker 的字符串值重复出现?以下代码使 NumberPicker 成为非经常性的。当它从上行到下行时停止,反之亦然。
这是 xml 片段。
<NumberPicker
android:id="@+id/nu_plus_minus"
android:layout_gravity="left|center_vertical"
android:layout_width="@dimen/N_P_Width"
android:layout_height="@dimen/N_P_Height"
android:gravity="center"/>
这是我为这个选择器编写的代码。
NumberPicker nu_plus_minus = (NumberPicker)v.findViewById(R.id.nu_plus_minus);
String[] values = new String[2];
values[0] = getString(R.string.plus_for_NP);
values[1] = getString(R.string.minus_for_NP);
nu_plus_minus.setMaxValue(values.length - 1);
nu_plus_minus.setMinValue(0);
nu_plus_minus.setDisplayedValues(values);
nu_plus_minus.setWrapSelectorWheel(true);
nu_plus_minus.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
根据 docs 对于 setWrapSelectorWheel
:
Note: If the number of items, i.e. the range ( getMaxValue() - getMinValue()) is less than the number of items shown on the selector wheel, the selector wheel will not wrap. Hence, in such a case calling this method is a NOP.
你只显示了两个值,所以我有一种预感,这就是为什么它没有像你想要的那样包装值。
当我向一个方向移动时,如何使 NumberPicker 的字符串值重复出现?以下代码使 NumberPicker 成为非经常性的。当它从上行到下行时停止,反之亦然。
这是 xml 片段。
<NumberPicker
android:id="@+id/nu_plus_minus"
android:layout_gravity="left|center_vertical"
android:layout_width="@dimen/N_P_Width"
android:layout_height="@dimen/N_P_Height"
android:gravity="center"/>
这是我为这个选择器编写的代码。
NumberPicker nu_plus_minus = (NumberPicker)v.findViewById(R.id.nu_plus_minus);
String[] values = new String[2];
values[0] = getString(R.string.plus_for_NP);
values[1] = getString(R.string.minus_for_NP);
nu_plus_minus.setMaxValue(values.length - 1);
nu_plus_minus.setMinValue(0);
nu_plus_minus.setDisplayedValues(values);
nu_plus_minus.setWrapSelectorWheel(true);
nu_plus_minus.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);
根据 docs 对于 setWrapSelectorWheel
:
Note: If the number of items, i.e. the range ( getMaxValue() - getMinValue()) is less than the number of items shown on the selector wheel, the selector wheel will not wrap. Hence, in such a case calling this method is a NOP.
你只显示了两个值,所以我有一种预感,这就是为什么它没有像你想要的那样包装值。