如何找出imeOptions使用的动作和/或标志?

时间:2017-12-10 10:05:10

标签: android android-input-method

在以下代码中:

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;

2 个答案:

答案 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
}