【问题标题】:How allow a specific character in Android numerical keyboard?如何在 Android 数字键盘中允许特定字符?
【发布时间】:2012-11-18 02:08:55
【问题描述】:

我正在开发一个科学应用程序,我有一个 EditText,我必须在其中输入一个输入数值,所以 inputType 是“number|numberSigned|numberDecimal”,但问题是当我想输入一个科学记数法数字时像“45.6E05”,由于EditText的InputType,我无法输入“E”字符。

如何在EditText获得焦点时允许“E”字符并且只显示数字键盘?

【问题讨论】:

  • 如果你问如何在系统键盘上显示数字和字母E,那么你不能这样做。

标签: android keyboard android-edittext


【解决方案1】:

没有办法显示带有额外字母 E 的数字键盘,解决此问题的两种方法是制作一个按钮,将 E 输入到您的编辑文本或使用 android:digits 属性,如下所示:

android:digits="1234567890E."

括号中的所有字符都是您希望用户能够输入的字符

要使用按钮来实现,在其onClickListener 中您只需输入以下代码

edittext.setText(edittext.getText().toString() + "E"

另一方面,如果你想在光标位置插入字符,那么你应该试试这个(取自here

int start =edittext.getSelectionStart();
String s = "E";
edittext.getText().insert(start, s);

【讨论】:

  • android:digits="1234567890E."正是我想要的!它完美无缺!谢谢!
猜你喜欢
  • 2016-10-28
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 2018-03-01
  • 2016-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多