在EditText的开头获取数字软键盘,并在android中键入空格后使其成为正常的alpha键盘

时间:2013-12-06 07:30:15

标签: android

单击EditText时,我想要一个软输入键盘。我希望键盘在开始时是数字,但是当用户按空格时,它变成普通的alpha键盘。我读了一个关于这个问题的答案,他们说:使用:

 yourEditText.setRawInputType(Configuration.KEYBOARD_QWERTY);

但在某些手机中,键盘中没有空格按钮。任何的想法?感谢。

2 个答案:

答案 0 :(得分:0)

在xml:

中的yout edittext中添加此行
android:inputType="number" 

<强>编辑:

在onTextChanged侦听器editText中添加这些:

if((event.getAction()==KeyEvent.ACTION_DOWN)&&(key == KeyEvent.KEYCODE_SPACE)){

   InputMethodManager m = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
  if(m != null){
      m.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT);
   } 
}

答案 1 :(得分:0)

使用TextWatcher,当您检测到空格时,请更改为正常的键盘布局。

onTextChanged(CharSequence s, int start, int before, int count)
{
 String inputText = s.toString();
  // to detect space in String see http://stackoverflow.com/a/4067825/1008278
  if(spaceAvailable)
  {
        changeLayout();
  }

}