java - 在不丢失多行功能的情况下为 EditText 设置输入类型?

标签 java android xml android-edittext

出于某种原因,对 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

之间的空格

关于java - 在不丢失多行功能的情况下为 EditText 设置输入类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16840584/

相关文章:

java - 创建菜单后,如何更改菜单中的图标?

java - 使用 log4j2 时日志文件为空

使用套接字上传Java文件,需要上传文件的百分比?

android - 将数据从小部件传递到 Activity

c# - 使用 Dynamic 或 Reflection.emit

java - 传递参数与函数内部分配,java/android 中的内存泄漏?

java - 而 "!b.equals(x) || !b.equals(y)"是一个无限循环?

android - Firebase:报告分析和崩溃数据以分离项目

java - 如何将带有标签的字符串转换为xml?

ASP.NET XML 解析错误 : no element found Line Number 1, 第 1 列错误