1

何らかの理由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 行にまとめられていると思います。

4

1 に答える 1

1

符号付き整数として入力する場合は、次を使用できます

...

android:digits="0123456789 \n"

...

9PS :との間の SPACE を忘れないでください。\n

于 2013-05-30T16:08:50.410 に答える