簡體   English   中英

setInputType為EditText而不丟失多行功能?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM