我正在实施一个Android应用,其中我有一个EditText
,我想填写文字。用户将输入的值如下:“12bread”,“45drink”等。
我希望让用户更容易,当他专注于EditText
时,我首先向他展示标准文本键盘的数字标签。
问题是我想要这样做而不要求用户先按123:
使用inputType="number"
或其他编程方法只会导致显示数字小键盘,但我无法在单击后返回文本小键盘,以便他也可以使用字符作为值。
有人能告诉我是否有解决方案可以解决这个问题?我搜索和搜索,没有Q / A匹配我的情况,直到现在没有人说这是不可能的。所以我仍然希望有一个奇迹。 上面显示的图像只是为了显示键盘的类型。
答案 0 :(得分:0)
好的,这可能有效。在EditText中使用“onTextChangeListener”,这样当记录长度或某个确定的字符串时,键盘将会切换。我有一个项目,我做这样的事情:
yourEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
//Check after user finished writting
@Override
public void afterTextChanged(Editable s) {
//if the lenght of the editText is > 3...
if (s.length()>=3){
yourTextView.setInputType(InputType.TYPE_CLASS_NUMBER);
}
}
});