Android号码选择器键盘types

我有一个EditText,当点击时创建一个AlertDialog,其中包含一个数字选择器。 我想让用户选择滚动数字选择器,并通过键盘输入一个值。 但是我不知道如何设置NumberPicker的键盘types,当点击数字选择器的值时,全键盘显示。

我知道EditText你可以做editText.setInputType,但是NumberPicker呢?


这里是我的对话框xml:

   

我不想设置编辑文本的输入types。 我想设置数字选择器的输入types。 点击编辑文本时,会创建一个对话框,其中包含一个数字选择器。 它的数字选择器,我想设置输入types。

  • Android室错误:types转换器无法识别列表的枚举
  • Google地图视图泄漏非常多
  • 在kotlin的片段
  • 如何设置android应用程序的自定义字体?
  • Android 3.0 Canary生成错误:不支持major.minor版本52.0
  • 异步获取Android Kotlin中的URL
  • Firebase请求从未在Android上完成
  • Kotlin - NoSuchMethodError实例化Throwable时
  • 2 Solutions collect form web for “Android号码选择器键盘types”

    默认情况下,NumberPicker现在使用inputType="number"除非您设置了displayedValues ,由于显示的值是String[] ,所以将键盘恢复为完整模式。

    在一些使用情况下,您可能希望覆盖此行为,例如,如果您的值是非连续数字(0,5,10等)或浮点数(1.0,1.5等)。 这里有一个基于这个问题的解决方案:

     // Java private void setInput(ViewGroup vg) { for(int i = 0; i < vg.getChildCount(); i++) { View child = vg.getChildAt(i); if(child instanceOf ViewGroup) { // Recurse setInput((ViewGroup) child); } else if(child instanceOf EditText) { // Force InputType ((EditText) child).setInputType(InputType.TYPE_CLASS_NUMBER); } } } 

    ...要么...

     // Kotlin private fun setInput(vg: ViewGroup) { (0..vg.childCount).map { vg.getChildAt(it) }.forEach { when (it) { is ViewGroup -> setInput(it) // recurse is EditText -> it.inputType = InputType.TYPE_CLASS_NUMBER } } } 

    只需在xml文件中写入:

     inputType="number" 
    Kotlin language will be the best programming language for Android.