如何找出与 imeOptions 一起使用的操作 and/or 标志?
How to find out what action and/or flag is used with imeOptions?
在下面的代码中:
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
// What is included in the outAttrs.imeOptions
return inputConnection ;
}
outAttrs.imeOptions
是一个整数值,表示 EditorInfo
操作和标志。
如何检测 outAttrs.imeOptions
中使用了哪个 action/flag?
我试图读取这个数字,但我发现它是一个很长的数字,类似于:301216460
我发现设置此值是使用 &
和 |
:
outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT;
我找到了如何确定 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
}
我认为在这里使用按位运算符不是一个好主意我的兄弟,而不是你可以检查你的输入变量,不管它是什么,例如:
if (editText.getImeOptions() == EditorInfo.IME_ACTION_NEXT)
//do it
else
//not this time.
在下面的代码中:
public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
InputConnection inputConnection = super.onCreateInputConnection(outAttrs);
// What is included in the outAttrs.imeOptions
return inputConnection ;
}
outAttrs.imeOptions
是一个整数值,表示 EditorInfo
操作和标志。
如何检测 outAttrs.imeOptions
中使用了哪个 action/flag?
我试图读取这个数字,但我发现它是一个很长的数字,类似于:301216460
我发现设置此值是使用 &
和 |
:
outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT;
我找到了如何确定 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
}
我认为在这里使用按位运算符不是一个好主意我的兄弟,而不是你可以检查你的输入变量,不管它是什么,例如:
if (editText.getImeOptions() == EditorInfo.IME_ACTION_NEXT)
//do it
else
//not this time.