0

我有一个滑块,可以让我动态添加一些 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 应该可以解决问题,但我仍然可以在该字段中输入字母和内容......

怎么了?

4

1 回答 1

4

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

setInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_FLAG_SIGNED);
于 2012-10-04T18:20:43.240 回答