Libgdx:监听 TextField 上的点击

标签 libgdx

我试图删除当用户单击它们时放入 TextField 中的 placeholder-text (说明等),但我收到错误:

com.badlogic.gdx.scenes.scene2d.ui.TextField is not an enclosing class

我的代码:

final TextField searchField = new TextField("Who are you looking for?", newSkin);
                searchField.setFocusTraversal(false);
                searchField.setTextFieldListener(new TextField.TextFieldClickListener() {
                    @Override
                    public void clicked(InputEvent event, float x, float y) {
                        super.clicked(event, x, y);
                        searchField.clear();
                    }
                });

我不知道我做错了什么。

最佳答案

问题是你混淆了TextField.TextFieldListenerTextField.TextFieldClickListener .

在您的代码中,您想要使用 setTextFieldListener 但带有 TextFieldClickListener 参数,因此编译器无法正确解析它。 您可以简单地使用 ClickListener 来代替:

    searchField.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            searchField.setText("");
        }
    });

另外,请注意,您应该将空字符串设置为文本,因为 clear() method用于:

Removes all actions and listeners on this actor.

这绝对不是您要找的

关于Libgdx:监听 TextField 上的点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41650010/

相关文章:

java - LIBGDX 游戏内存泄漏

java - libGdx - actor 监听器 touchDown、touchUp 不起作用。是的,我用过 setBones

java - 在 Libgdx 中处理渐进式 jpeg 图像

java - 当速度 vector 与位置 vector 相加时,速度 vector 趋于无穷大

java - 恢复后 Libgdx 调整大小

android - 如何向下滚动表格?库GDX

java - libgdx - AssetsManager - 管理多个位置

java - 如何在 libGDX 框架中匹配用户点击和 sprite 对象位置

java - Box2d 为什么物理碰撞不完美?

java - 为什么我的 Java/Libgdx 9 秒倒计时器不工作?