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