如何显示数字键盘

时间:2011-01-13 03:55:50

标签: android text android-edittext

我阅读了其他几篇文章并使用了input.setInputType(TYPE_NUMBER_FLAG_DECIMAL);打开键盘,但它不是数字键盘

这有诀窍吗?

5 个答案:

答案 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 块中:

  1. 数字拨号键盘
        android:inputType="phone"
        android:digits="1234567890"
  1. 键盘的数字部分
        android:inputType="number"