私は科学アプリを開発しており、入力数値を入力する必要がある EditText があるため、inputType は "number|numberSigned|numberDecimal" ですが、問題は "45.6" のような科学表記法を入力する場合です。 E05」、EditTextのInputTypeが原因で「E」の文字が入力できません。
EditTextがフォーカスされているときに「E」文字を許可し、数字キーボードのみを表示するにはどうすればよいですか?
私は科学アプリを開発しており、入力数値を入力する必要がある EditText があるため、inputType は "number|numberSigned|numberDecimal" ですが、問題は "45.6" のような科学表記法を入力する場合です。 E05」、EditTextのInputTypeが原因で「E」の文字が入力できません。
EditTextがフォーカスされているときに「E」文字を許可し、数字キーボードのみを表示するにはどうすればよいですか?
余分な文字E
が付いた数字キーボードを表示する方法はありません。これを回避する2つの方法は、編集テキストに入力するボタンを作成するか、次のような属性E
を使用することです。android:digits
android:digits="1234567890E."
角かっこ内のすべての文字は、ユーザーが入力できるようにする文字です。
ボタンを使用してそれを行うにonClickListener
は、次のコードを入力するだけです
edittext.setText(edittext.getText().toString() + "E"
一方、カーソルの位置に文字を挿入したい場合は、これを試してみてください(ここから取得)
int start =edittext.getSelectionStart();
String s = "E";
edittext.getText().insert(start, s);