Android numberpicker边缘滚动故障

时间:2016-04-25 06:58:21

标签: java android numberpicker

我创建了一个带有一些字符串值的数字选择器。

public void setValues() {
    boolean defaultAvaliable = false;
    int defaultRow = 0;
    String[] values = new String[pickValues.size()];
    for (int i = 0; i < pickValues.size(); i++) {
        if (pickValues.get(i).equals("01:00")) {
            defaultAvaliable = true;
            defaultRow = i;
        }
        values[i] = pickValues.get(i);
    }

    timePicker.setMaxValue(values.length - 1);
    timePicker.setMinValue(0);
    timePicker.setWrapSelectorWheel(false);
    timePicker.setDisplayedValues(values);

    if (defaultAvaliable) {
        timePicker.setValue(defaultRow);
    }
}

当我滚动到边缘值(第一个或最后一个)时,选择器首先以奇怪的,不平滑的方式跳转到该项目,之后当我尝试返回其他值时,它不会滚动。拾取器在边缘值上出现故障,一段时间后它最终会返回。在某些方面,它看起来像我会滚动边缘值,它需要一些滚动才能回来。

是否有其他人遇到此问题,或者是否有人有任何建议要检查?

编辑1:

所以我必须指出,我知道问题是当我在我的numberpicker中更改字体大小时,并且不知道为什么。一旦我将字体大小设置为超过39,它就会开始卡在第一个和最后一个项目上。

private void updateView(View view) {
    if(view instanceof EditText){
        ((EditText) view).setTextSize(39);
        ((EditText) view).setTextColor(getResources().getColor(R.color.mp_white));
        ((EditText) view).setFocusable(false);
    }
}

有谁知道行大小是多少? 或者如果我必须更改它的大小,那么它会正确检测到滚动吗?

0 个答案:

没有答案