1

出于某种原因,使用setInputTypeforEditText将其强制为一行。我需要 EditText 来接受NumberSigned

我尝试使用InputFilter它返回 "" 如果source.charAt(i)不是 0-9 或点或 + 或 -

但是如何允许换行符?我需要能够在 EditText 中输入多行。

我在xml和代码中都试过了:

et = new EditText(this);

et.setText(getResources().getString(R.string.default_value));

et.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED);

et.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.WRAP_CONTENT));

linearLayout.addView(et);

setText 输入一个字符串:

<string name="default_value">1,2,3\n4,5,6\n7,8,9</string>

显示为 1 2 3 4 5 6 7 8 9。

我尝试使用setLines()setMaxLines()没有运气。我认为它被强制成单行的原因是换行符不是 InputType NumberSigned 的一部分。

4

1 回答 1

1

如果你想输入为有符号整数,那么你可以使用

...

android:digits="0123456789 \n"

...

PS:不要忘记和之间的9空格\n

于 2013-05-30T16:08:50.410 回答