我需要允许用户在EditText中输入数字信息,但输出需要格式化为“##。###,##”(#in [0..9])。我在TextWatcher中进行格式化...这很好,TextWatcher完成工作... bute,当用户选择EditText时,因为它标记为文本,所以显示AlphaKeyboard,如果我选择EditText作为数字显示我需要的键盘,TextWatcher停止工作。
答案 0 :(得分:0)
将xx中的以下内容放在所需的edittext
中<EditText android:inputType="number" ... />
参考 How do I show the number keyboard on an EditText in android?
答案 1 :(得分:0)
您需要像这样更改edittext条目。
<EditText android:inputType="phone" android:numeric="decimal"></EditText>
答案 2 :(得分:0)
使用此代码显示软键盘。
InputMethodManager imm = (InputMethodManager) getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.showSoftInputFromInputMethod(v.getApplicationWindowToken(), 1);
答案 3 :(得分:0)
在TextWatcher(##,#### ....)中进行格式化时,即在EditText中添加“,”,并将EditText设为数字。如果是数字,则“,”char无效。因此,它不允许TextWatcher更新包含',“。
的格式化文本您有3个选项可以解决此问题:
setInputType(InputType.TYPE_TEXT_VARIATION_NORMAL);
&amp;运行时在运行时将输入类型设置为正常。数字用途:setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
我相信第一个选项最适合处理和管理。