我无法在我的 TextField(libgdx 中的 scene2d ui 元素)监听器中注册 android“删除”键。这是我定义文本字段的代码:
nameTextfield = new TextField("", skin);
nameTextfield.setMessageText("Some Text");
uiStage.addActor(nameTextfield);
我尝试这个监听器只是为了解码 DELETE 键的键码:
nameTextfield.setTextFieldListener(new TextFieldListener() {
public void keyTyped (TextField textField, char key) {
textField.setText(String.valueOf(Integer.valueOf(key)));
}
});
虽然它提供了几乎所有按钮的代码,但它甚至对“删除”按钮没有反应。
我在 Nexus 7 上对此进行了测试。
最佳答案
来自TextField.java source看起来“DELETE”(以及“BACKSPACE”、“TAB”和其他几个键)是由 TextField 专门处理的。这些 key 永远不会转发给任何监听器。
内置处理程序应该做“正确的事情”(修剪字符串内容中的字符)。
删除对于您的情况是否在某种程度上表现不正确,导致您尝试对其进行解码?
关于java - libGDX scene2d TextFieldListener 在 Android 上未接收 DELETE 键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14430064/