我需要在Android系统软件板上禁用 DONE 按钮(imeOptions - > IME_ACTION_DONE),直到在编辑文本中输入最小字符数。有什么建议吗?
注意:最小字符数只是需要在edittext用户输入上执行的一个此类验证。因此,在用户输入文本通过所有验证之前,需要保持DONE禁止用户导航到下一步。
由于
答案 0 :(得分:2)
这是我能得到的最接近的。我无法禁用该按钮,但会静静地消耗由 DONE 按钮触发的事件,并且什么都不做。
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)){
if(isValid(mTextView.getText()){
//Permit further operation
}else{
//Do nothing - This will consume the KEYCODE_ENTER action
}
return false; //To let other listeners that this event has already been consumed
}
答案 1 :(得分:0)
我的建议是不要走这条路。最终,你无法控制软键盘的作用。即使你在股票键盘上找到了这样做的方法,它也可能不适用于三星键盘或Swype键盘。某些第三方键盘甚至忽略了inputType之类的基本控件,乐于向用户显示输入数字字段的字母。您应该将所有与键盘相关的api视为建议,而不是指望它们中的任何一个被强制执行。