0

いくつかのEditTextフィールドを動的に追加できるスライダーがあります。

これは私が使用するコードです:

EditText editText = new EditText(getActivity());
editText.setId(i);
editText.setLayoutParams(new LayoutParams(
LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
editText.setInputType(4096);
linearLayout.addView(editText);
editText.setHint("Cash Flow " + i);
i++;

これは、作成されたフィールドの数=スライダーの数を確認するwhileループにあります。とにかく、これによるsetInputTypeは、すべての値に対して機能するわけではありません。たとえば、2を入れると、自動的に「数字と記号」の部分としてのみキーボードが使用されます。

ただし、その人が負の数(つまり、数の前に負の符号)を入力できるようにする必要があります。

ID 4096のTYPE_NUMBER_FLAG_SIGNEDでうまくいくと思いましたが、フィールドに文字などを入力することはできます...

なにが問題ですか?

4

1 に答える 1

4

TYPE_NUMBER_FLAG_SIGNED はフラグであり、入力タイプではありません。次のように記述する必要があります。

setInputType(TYPE_CLASS_NUMBER | TYPE_NUMBER_FLAG_SIGNED);
于 2012-10-04T18:20:43.240 に答える