如何使用Android 4.0的NumberPicker小部件

Dog*_*g89 7 java android android-widget android-4.0-ice-cream-sandwich

我正在尝试NumberPicker使用API 14配置小部件.网上有很少的教程或说明可以帮助我正确设置它.

到目前为止,我在main.xml中实现了以下代码:

<NumberPicker
    android:id="@+id/numberPicker1"
    android:layout_width="match_parent"
    android:layout_height="48dp"
    android:orientation="horizontal" />
Run Code Online (Sandbox Code Playgroud)

并在onCreate()方法的主要活动中:

NumberPicker np = (NumberPicker) findViewById(R.id.numberPicker1);
    String[] nums = new String[20];
    for(int i=0; i<nums.length; i++)
           nums[i] = Integer.toString(i);

    np.setMinValue(1);
    np.setMaxValue(20);
    np.setWrapSelectorWheel(false);
    np.setDisplayedValues(nums);
    np.setValue(1);
Run Code Online (Sandbox Code Playgroud)

在模拟器中运行我的应用程序时,numberpicker小部件不会按预期显示.按钮不是左右,而是上下.并且值彼此重叠而不是显示一个数字.单击箭头会使应用程序崩溃.

编辑

如下所述在第一个答案中进行了更改,但numberpciker不可用,请参见屏幕截图:

Numberpicker截图

任何帮助,将不胜感激.

Ale*_*ood 6

尝试注释掉for循环和直线np.setDisplayedValues(nums);.本NumberPicker应该为你自动显示的值.

android:layout_width="wrap_content"如果要NumberPicker水平显示值,也可以考虑将宽度更改为.


编辑:

您似乎无法更改NumberPicker(请参阅此链接).问题是您正在尝试更改android:orientation属性...但这是LinearLayout该类的继承属性.NumberPicker除非您自定义自己,否则您可能会陷入垂直显示状态.抱歉!