在以下代码中:
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
// What is included in the outAttrs.imeOptions
return inputConnection ;
}
outAttrs.imeOptions
是一个表示EditorInfo
动作和标志的整数值。
如何检测outAttrs.imeOptions
中使用的操作/标记?
我试着阅读这个数字,但我发现这是一个很长的数字:301216460
我发现使用&
和|
设置此值:
outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT;
答案 0 :(得分:1)
我认为在我的兄弟中使用按位运算符不是一个好主意,而不是你可以检查输入变量,例如:
if (editText.getImeOptions() == EditorInfo.IME_ACTION_NEXT)
//do it
else
//not this time.
答案 1 :(得分:0)
我找到了如何确定imeOptions
值中是否包含操作或标记。
要检查EditorInfo.IME_ACTION_NEXT
值中是否包含imeOptions
:
if ((imeOptions & EditorInfo.IME_ACTION_NEXT) == EditorInfo.IME_ACTION_NEXT) {
// imeOptions includes EditorInfo.IME_ACTION_NEXT
} else {
// imeOptions does not include EditorInfo.IME_ACTION_NEXT
}