何らかの理由setInputType
で forを使用すると、EditText
強制的に 1 行になります。NumberSigned を受け入れるには EditText が必要です。
0-9またはドットまたは+または-でないInputFilter
場合は「」を返すように使用してみましたsource.charAt(i)
しかし、改行文字を許可する方法は? 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 行にまとめられていると思います。