我阅读了其他几篇文章并使用了input.setInputType(TYPE_NUMBER_FLAG_DECIMAL);打开键盘,但它不是数字键盘
这有诀窍吗?
答案 0 :(得分:24)
给
xml文件中的android:inputType="number"
编辑:“数字”不起作用,更改为“数字”(小写N)
答案 1 :(得分:12)
a)xml
android:numeric="decimal"
b)代码
EditText editView = new EditText(this);
editView.setKeyListener(new DigitsKeyListener());
答案 2 :(得分:7)
在你的xml中,你必须这样做:
android:inputType="Number"
在您的代码中,执行:
editText.requestFocus();
然后:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
花了很多天才弄明白这一点。我甚至尝试过editText.performClick();不工作。
答案 3 :(得分:2)
要在我按照以下步骤使用的活动开始时弹出一个数字键盘:
在布局中创建编辑文本字段为:
<EditText
...
android:inputType="number"
... />
在功能 onCreate()显示软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
最重要的是要专注于在 onResume 方法中编辑文字。
@Override
public void onResume() {
super.onResume();
editText.setFocusableInTouchMode(true);
editText.requestFocus();
}
答案 4 :(得分:0)
我找到了两种简单的方法,将其中一种添加到 XML 文件中的 EditText 块中:
android:inputType="phone"
android:digits="1234567890"
android:inputType="number"