[英]setInputType for EditText without losing multiLine feature?
由于某些原因,对EditText
使用setInputType
会将其强制为一行。 我需要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的一部分。
如果要输入带符号整数,则可以使用
...
android:digits="0123456789 \\n"
...
PS:不要忘记9
到\\n
之间的空格
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.