EditText的setInputType不会丢失multiLine功能?

时间:2013-05-30 15:49:21

标签: java android xml android-edittext

由于某些原因,使用setInputType EditText强制它成为一行。我需要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的一部分。

1 个答案:

答案 0 :(得分:1)

如果您希望输入为有符号整数,则可以使用

...

android:digits="0123456789 \n"

...

PS:不要忘记9\n

之间的空格