我需要禁用 android 系统软板上的DONE按钮 (imeOptions-->IME_ACTION_DONE),直到在编辑文本中输入最少字符数。有什么建议么?
注意:最少字符数只是需要对 edittext 用户输入执行的一种验证。因此,在用户输入的文本通过所有验证之前,DONE 需要保持禁用状态,以防止用户导航到下一步。
谢谢
我需要禁用 android 系统软板上的DONE按钮 (imeOptions-->IME_ACTION_DONE),直到在编辑文本中输入最少字符数。有什么建议么?
注意:最少字符数只是需要对 edittext 用户输入执行的一种验证。因此,在用户输入的文本通过所有验证之前,DONE 需要保持禁用状态,以防止用户导航到下一步。
谢谢
这是我能到达的最接近的地方。我无法禁用该按钮,而是静静地使用由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
}
我的建议是不要走这条路。最终,您无法控制软键盘的功能。即使您找到了在普通键盘上执行此操作的方法,它也可能不适用于三星键盘或 Swype 键盘。一些第三方键盘甚至忽略了像 inputType 这样的基本控件,很高兴地向用户显示字母以输入数字字段。您应该将所有与键盘相关的 api 视为建议,而不是指望它们中的任何一个被强制执行。