Android NumberPicker为当前所选项目的字符串数组值添加了奇怪的额外内容

时间:2014-09-25 20:27:44

标签: android eclipse numberpicker

我知道,我错过了一些明显的东西。所以我有一个号码选择器, tgt android 4.0.3,我想要比当前选定值更高的数字 - 所以从屏幕的顶部到底部,数字正在下降。 所以我填充一个字符串数组,使其为“200”,“195”,......“20”,“15”,“10”,“5”,“0”。
但这是奇怪的事情:当我选择第39个元素,即“5”时,它显示的位置 当前选择的项目变为“55”。如果我离开那(因此我可以看到那个元素 高于或低于当前选择的值)它会回到“5”。

也会出现“10”(变为“105”),“15”(变为“155”)和“20”(打破模式, 显示“200”)。正常显示的任何东西(正常“0”和“25”等等)。

如果我有10个元素,则没有任何反应,但是当我添加第11个时,“5”开始显示“50”。 如果我有20个元素,它是相同的,但是当我添加21时,“5”开始显示“55”,而“10”开始显示“100” 等等。

这是代码

String[] values=new String[41];
            for(int i=0;i<values.length;i++){
                 values[values.length-1-i]=Integer.toString(i*5);
            }
NumberPicker npnow= (NumberPicker) findViewById(R.id.nowwarn_picker);

npnow.setMaxValue(values.length-1);
npnow.setMinValue(0);
npnow.setDisplayedValues(values);
npnow.setValue(35);

npnow.setWrapSelectorWheel(false);

另外(在测试中)如果我像这样设置字符串数组:

for(int i=0;i<values.length;i++){
    values[i]="i"+Integer.toString(200-i*5);

}

问题是一样的,但是如果我在值之前追加索引,就像这样:

for(int i=0;i<values.length;i++){
    values[i]=Integer.toString(i)+Integer.toString(200-i*5);
}

问题消失了 当我在onValueChanged监听器中通过toast显示当前值时,它会正确地进行转换,但显示出相同的问题。

0 个答案:

没有答案