程序忽略ID为4096的setInputType

时间:2012-10-04 18:12:49

标签: java android android-edittext

我有一个滑块让我动态添加一些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循环,确保创建的字段数=滑块上的数字。无论如何,根据this的setInputType不适用于所有值。例如,如果我将2放入其中,它将自动将键盘仅作为“数字和标志”部分。

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

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

有什么问题?

1 个答案:

答案 0 :(得分:4)

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

setInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_FLAG_SIGNED);