是否有在Android中输入整数的视图?

pup*_*eno 22 user-interface android integer

我正在寻找类似日期选择器对话框的各个部分.一个视图,允许您输入可以限制的整数(仅限整数)(例如,在1到10之间),您可以在其中使用键盘或视图中的箭头.它存在吗?

这是一个对话框.一个现成的对话框来请求一个整数也会有所帮助.

Wil*_*ill 23

NumberPicker部件可能是你想要的东西.不幸的是,它位于com.android.internal.Widget.NumberPicker我们无法通过正常手段达到的地方.

有两种方法可以使用它:

  1. 从android源代码复制代码
  2. 使用反射来访问窗口小部件

这是在布局中使用它的xml:

<com.android.internal.widget.NumberPicker
    android:id="@+id/picker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"/>
Run Code Online (Sandbox Code Playgroud)

这是设置NumberPicker设置的反射(我没有测试过这个):

Object o = findViewById(R.id.picker);
Class c = o.getClass();
try 
{
    Method m = c.getMethod("setRange", int.class, int.class);
    m.invoke(o, 0, 9);
} 
catch (Exception e) 
{
    Log.e("", e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)

由于它是一个内部窗口小部件而不在SDK中,因此如果使用反射,将来可能会破坏兼容性.从源头推出自己的产品是最安全的.

此信息的原始来源在此Google网上论坛中共享.


Bry*_*nny 7

NumberPicker内部窗口小部件已从Android源代码中提取并打包供您使用,您可以在此处找到它.效果很好!

编辑:原始链接已关闭,您可以在此处找到该小部件的副本