Android NumberPicker取消选择号码

时间:2014-11-20 22:19:52

标签: android numberpicker

我使用了稍微修改过的NumberPicker,当活动开始时,已经选择了默认值。这很烦人,因为它会调出键盘或调出对话框进行剪切/复制/粘贴。我确实指示键盘保持不动但它仍处于选中状态,并将显示剪切/复制/粘贴对话框。滚动值后,不再选择该数字,它会正常运行。有谁知道如何设置NumberPicker在启动时没有选择任何东西?

@TargetApi(Build.VERSION_CODES.HONEYCOMB)
public class NumPicker extends NumberPicker
{
public NumPicker(Context context)
{
    super(context);
}

public NumPicker(Context context, AttributeSet attrs)
{
    super(context, attrs);
    processAttributeSet(attrs);
}

public NumPicker(Context context, AttributeSet attrs, int defStyle)
{
    super(context, attrs, defStyle);
    processAttributeSet(attrs);
}

/**
 * Reads the xml, sets the properties
 */
private void processAttributeSet(AttributeSet attrs)
{
    setMinValue(attrs.getAttributeIntValue(null, "min", 0));
    setMaxValue(attrs.getAttributeIntValue(null, "max", 0));
    setValue(4);
}
}

这是在xml中使用它的方式:

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_alignParentTop="true"
    android:layout_marginRight="50dp"
    android:layout_marginEnd="50dp"
    android:layout_marginTop="40dp"
    style="@style/CustomText"
    max="100"
    min="2"

1 个答案:

答案 0 :(得分:2)

发生这种情况的原因是NumberPicker是您活动中的第一个(或唯一的?)可聚焦元素。您可以通过将此属性添加到根视图来将焦点捕获到主布局视图中:

android:focusableInTouchMode="true"