gpt4 book ai didi

java - 如何检测是否按下了退格键?

转载 作者:行者123 更新时间:2023-12-01 16:28:15 25 4
gpt4 key购买 nike

mainNotes.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((keyCode != KeyEvent.KEYCODE_SLASH) && (titleMod = true) && (keyCode != 46) && (keyCode != KeyEvent.KEYCODE_SLASH) && (keyCode != KeyEvent.KEYCODE_ENTER)) {
Toast.makeText(MainActivity.this, "not a slash", Toast.LENGTH_SHORT).show();
titleEnd += 1;
slashCount = 1;
} else if ((keyCode == KeyEvent.KEYCODE_DEL) && (titleMod = true)) {
Toast.makeText(MainActivity.this, "deleted", Toast.LENGTH_SHORT).show();
titleEnd -= 1;}

代码无法识别按下了删除键。它适用于所有其他按键,如斜杠、其他文本等。它甚至没有记录按下删除键?

最佳答案

KeyEvent.KEYCODE_DEL 对应于您的退格键。标准 Android 键盘实际上根本没有删除键,因此通过键盘在模拟器上测试时需要按退格键。

为了确保检测到软键事件,请避免使用 KeyListener 接口(interface),因为它不太可能被软件键盘或模拟器识别。来自 official documentation :

Key presses on soft input methods are not required to trigger the methods in this listener, and are in fact discouraged to do so. The default android keyboard will not trigger these for any key to any application targetting Jelly Bean or later, and will only deliver it for some key presses to applications targetting Ice Cream Sandwich or earlier.

相反,请尝试使用 KeyboardView.OnKeyboardActionListener .

示例代码可以在 here 找到.

关于java - 如何检测是否按下了退格键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62118945/

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