Android号码选择器键盘types

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

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


这里是我的对话框xml:

   

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

  • Android Studio 3.0 gradle 3.0.0-beta2,打破Kotlinunit testing覆盖?
  • Kotlin:我如何请求从模拟器访问ACCESS_FINE_LOCATION?
  • 从活动Kotlin获得额外的字符串
  • 如何用kotlin标记List
  • 从Java类inheritance的数据类
  • Kotlin库'rxkotlin-0.21.0.jar'具有不受支持的格式。 请更新库或插件
  • RealmMigrationNeededException添加RealmList (Kotlin)
  • 如何在RxJava 2和Android中延迟onError()?
  • 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.