java - ID 为 4096 的 setInputType 被程序忽略

标签 java android android-edittext

我有一个 slider ,可以让我动态添加多个 EditText 字段。

这是我使用的代码:

EditText editText = new EditText(getActivity());
editText.setId(i);
editText.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
editText.setInputType(4096);
linearLayout.addView(editText);
editText.setHint("Cash Flow " + i);
i++;

这是一个 while 循环,确保创建的字段数 = slider 上的数字。无论如何,setInputType 根据 this并不适用于所有值。例如,如果我在其中输入 2,它将自动将键盘仅作为“数字和符号”部分。

但是,我需要该人能够输入负数(即数字前面的负号)。

我认为 ID 为 4096 的 TYPE_NUMBER_FLAG_SIGNED 应该可以解决问题,但我仍然可以在字段中输入字母和其他内容...

出了什么问题?

最佳答案

TYPE_NUMBER_FLAG_SIGNED 是一个标志而不是输入类型,你必须做的就是这样写:

setInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_FLAG_SIGNED);

关于java - ID 为 4096 的 setInputType 被程序忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12733253/

相关文章:

java - 在android中的EditText中保存信息

android - 如何更改 EditText 上的图标?

java - 选择一个联系人并将其填写到EditText中

java - 为什么要将 main() 放在专用类中?

java - 在android中逐行读取文本文件

java - RxJava 中 debounce() 运算符的意外行为

android - 通过更改自定义 ListView 中的数据集值,仅更新最后一行

android - 在android中填充编辑文本的语音输入?

java - 在 youtube api 中设置 onclickListener

java - Java 中的开关不改变状态