gpt4 book ai didi

android - 将 KeyEvent 对象列表转换为字符串

转载 作者:搜寻专家 更新时间:2023-11-01 08:55:07 25 4
gpt4 key购买 nike

我正在开发一款需要能够使用外部 USB 或蓝牙键盘楔的应用程序。然后我捕获 KeyEvents 并根据需要缓存它们(开始/结束哨兵)。

所以此时我有需要转换为字符串的 KeyEvent 列表。

所以我需要将这些有序的 KeyEvents 转换成正确的字符串。

List<KeyEvent> events = new ArrayList<KeyEvent>();
String eventString = eventsToString(events); //??????

有什么想法吗?

最佳答案

经过大量研究,这就是我想出的。我使用了接受按键事件的 KeyListener。然后它根据关键事件(考虑轮类等)附加到 Editable。下面的代码将在键事件进入时简单地回显不断增长的字符串。

KeyListener tkl = new TextKeyListener(Capitalize.NONE, false);
Editable et = Editable.Factory.getInstance().newEditable("");

View.OnKeyListener key = new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN)
tkl.onKeyDown(null, et, keyCode, event);
else if (event.getAction() == KeyEvent.ACTION_UP)
tkl.onKeyUp(null, et, keyCode, event);
else
tkl.onKeyOther(null, et, event); //NOTE: My devices never used KeyEvent.ACTION_MULTIPLE so I don't know if it should get fired here or with the key down event.

Log.i(("Test: " + et.toString());
}
};

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (key.onKey(null, event.getKeyCode(), event))
return true;
else
return super.dispatchKeyEvent(event);
}

关于android - 将 KeyEvent 对象列表转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19614500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com