如何为我的自定义对象创建拾轮器?

Chr*_*ian 5 user-interface android android-layout android-recyclerview

我想让用户ArrayList<MyObjectType>通过外观类似于用于在数据选择器中选择日/月/年的车轮选择器的车轮选择器来选择元素。尽管日期选择器显然具有三个变量,但我只关心一个变量。

                                                  月选择器

实现这种选择器的最直接方法是什么?

Khe*_*raj 5

NumberPicker在 Android 小部件中提供。这就是你要找的。

解决方案

<NumberPicker
    android:id="@+id/numberPicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

在 Java 中

NumberPicker np = findViewById(R.id.numberPicker);
String[] months3char = get3CharMonths();
np.setMaxValue(months3char.length - 1); // important
np.setDisplayedValues(months3char); // custom values

private String[] get3CharMonths() {
    String[] months = new DateFormatSymbols().getMonths();
    String[] months3char = new String[months.length];
    for (int i = 0; i < months.length; i++) {
        String month = months[i];
        months3char[i] = month.length() < 3 ? month : month.substring(0, 3);
    }
    return months3char;
}
Run Code Online (Sandbox Code Playgroud)

输出