2011-01-13 84 views
18

我读了几个其他帖子,并使用input.setInputType(TYPE_NUMBER_FLAG_DECIMAL);打开键盘,但它不是数字键盘如何显示数字键盘

有没有这个技巧?

回答

22

android:inputType="number"你的XML文件中

编辑: “数” 是不行的,改为 “数量”(小写字母N)

+0

editview在使用构建器的弹出窗口中,所以没有xml。我认为setInputType和在XML中做的一样 – 2011-01-14 04:31:12

11

一)在XML

android:numeric="decimal" 

b)代码

EditText editView = new EditText(this); 
editView.setKeyListener(new DigitsKeyListener()); 
5

在你的XML,你必须这样做:

android:inputType="Number" 

在你的代码,这样做:

editText.requestFocus(); 

然后:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 

我花了很多天算出这个。我什至尝试editText.performClick();不工作。

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(); 
    }