我知道如何强制数字,文本等..但是我有一个标志或IME选项强制EditText只接受某些语言,如英语,以防我的数据库字段只能接受英文字符吗?当然,我可以检查并通知用户输入错误,但这并不完全是用户友好的......
也可以在EditText上实现我自己的过滤器,但我不确定它会强制键盘布局本身使用我需要的语言。
有什么想法吗?
答案 0 :(得分:3)
您可以使用(ROCK, ROCK) -> "Rock cannot defeat Rock. Draw."
(ROCK, PAPER) -> "Paper covers Rock. Computer wins."
...
或flagForceAscii
。该标志位于IME选项上。所以在XML中你可以把这个属性放在EditText中,
EditorInfo.IME_FLAG_FORCE_ASCII
这当然会影响键盘的初始状态。 https://developer.android.com/reference/android/view/inputmethod/EditorInfo.html#IME_FLAG_FORCE_ASCII
答案 1 :(得分:1)
仅适用于英文字符:
let modalBody = modalDefaults.modalBody;
for (let [key, value] of Object.entries(modalBody)) {
if (/paragraph(\d)/.test(key)) {
$('.row').append($(document.createElement('h1')).text(value.title));
$('.row').append($(document.createElement('p')).text(value.body));
}
}
使用的符号,您已经定义了数字字符串:
dataType: 'jsonp', //use jsonp data type in order to perform cross domain ajax
crossDomain: true,
答案 2 :(得分:0)
您可能应该过滤输入。强制使用英文键盘不会强制用户只使用英文字母。用户仍然可以长按字符或使用非英文硬件键盘。
您可以收听文本更改事件,并拒绝此时数据库未接受的所有字符。
答案 3 :(得分:0)
可能的破解方法是使用 EditText 的 keytool error: java.lang.Exception: Keystore file does not exist: ...
,例如 inputType
。
这会强制键盘仅支持英文字符和数字,但不利的一面是它还会禁用键盘上的麦克风。
无论如何,这可以满足您的要求。