Android号码选择器键盘types
我有一个EditText,当点击时创建一个AlertDialog,其中包含一个数字选择器。 我想让用户选择滚动数字选择器,并通过键盘输入一个值。 但是我不知道如何设置NumberPicker的键盘types,当点击数字选择器的值时,全键盘显示。
我知道EditText你可以做editText.setInputType,但是NumberPicker呢?
这里是我的对话框xml:
我不想设置编辑文本的输入types。 我想设置数字选择器的输入types。 点击编辑文本时,会创建一个对话框,其中包含一个数字选择器。 它的数字选择器,我想设置输入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"
- 将数据显示从Java转换为Kotlin
- Android Studio在layout.xml中显示错误
- Android Kotlin打开资产文件
- Kotlin kotlinClass.class.getName()不能返回包名,而只能返回简单的类名
- 在android java类中使用Kotlin扩展
- 类未find,androidTest中使用Android Studio 3.0.1,Room,Kotlin的空测试套件
- 在BottomsheetDialog中使用setcontentview时,会出现类似“以下函数都不能用提供的参数调用”的错误
- 哪里填充去,当设置背景可绘制?
- kotlin中URLEncodedUtils.format(params,“utf-8”)的替代方法是什么?