Я хочу создать NumberPicker с массивом отображаемых значений. Значения не должны изменяться при отображении NumberPicker, но минимальное и максимальное значения динамически изменяются в зависимости от действий пользователя.
Вот код:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<NumberPicker
android:id="@+id/picker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"/>
</RelativeLayout>
В основной деятельности
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final String[] values = new String[]{"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"};
NumberPicker picker = (NumberPicker) findViewById(R.id.picker);
picker.setDisplayedValues(values);
picker.setMaxValue(7);
picker.setMinValue(3);
picker.setWrapSelectorWheel(false);
}
}
Когда я устанавливаю максимум без установки минимума, я заканчиваю отображаемыми значениями между «0» и «7» (включительно). Если я установлю minValue на 0, у меня будет такое же поведение. Но если я установлю minValue на 3, я закончу отображаемыми значениями между «0» и «4». Когда он должен быть между "3" и "7".
Я не понимаю, почему. Я что-то не так сделал или проблема с компонентом?