当前事件结束后调度KeyEvent?

时间:2011-10-15 21:27:44

标签: android android-edittext keylistener keyevent

我有一个OnKeyListener(),它存在于一个扩展EditText的类中,当按下回车键时检查该行末尾的某个字符,如果存在,则调度另一个KeyEvent发送一个选项卡按回到EditText。但正在发生的是它添加了标签然后创建了一个新行。创建新行后我需要选项卡。在OnKeyListener()/ OnKey()方法之后是否可以触发我的“tab事件”?或者另一种方式? 感谢。

1 个答案:

答案 0 :(得分:1)

您可以在onKey方法中附加换行符和制表符,然后返回true以指示已消耗该事件以防止之后处理原始换行符。

public boolean onKey (final View view, final int i, final KeyEvent keyEvent) {
    Editable editableText = ((EditText)view).getText();

    if (shouldAppendTab(editableText)) {
        editableText.append('\n');
        editableText.append('\t');
        return true;
    }
    return false;
}

shouldAppendTab(editableText)替换为您的代码,以确定是否要追加标签。