Libgdx:侦听文本字段上的单击

Libgdx:侦听文本字段上的单击,libgdx,Libgdx,当用户单击时,我试图删除我放在文本字段中的占位符文本(说明等),但我得到了错误: com.badlogic.gdx.scenes.scene2d.ui.TextField不是封闭类 我的代码: final TextField searchField = new TextField("Who are you looking for?", newSkin); searchField.setFocusTraversal(false); s

当用户单击时,我试图删除我放在
文本字段中的
占位符文本
(说明等),但我得到了错误:

com.badlogic.gdx.scenes.scene2d.ui.TextField不是封闭类

我的代码:

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();
                    }
                });

我不确定我做错了什么

问题是你把事情搞砸了

在代码中,您希望使用
setTextFieldListener
,但使用
textfieldclicklister
参数,因此编译器无法正确解析它。 您只需使用
ClickListener

    searchField.addListener(new ClickListener() {
        @Override
        public void clicked(InputEvent event, float x, float y) {
            super.clicked(event, x, y);
            searchField.setText("");
        }
    });
另外,请注意,应将空字符串设置为文本,因为cos用于:

删除此参与者上的所有操作和侦听器


这绝对不是你想要的)

你放了一个新的TextField.TextFieldClickListener,它不存在。@tenfour04但如果你用谷歌搜索它,它就在api中。并在Android studio中使用intellisense。你能帮我检查一下如何点击文本字段吗?正常的单击侦听器不起作用。对不起,我的错误。不能从TextField类本身实例化它的原因是它不是静态类。实例化时,请使用
searchField
而不是
TextField
,这样您就可以从对象而不是从类中实例化它了。@Tenfour04 Hmm这似乎不起作用。你能试一下吗?如果你成功了,把它作为答案贴出来吗?:)我敢肯定这是我第一次尝试,但没有成功。我再试一次,只是为了确定一下!不要忘记删除代码片段中的
setTextFieldListener
。否则,它将删除所有其他侦听器。@iQue,您检查过了吗?我真的很好奇)效果很好,很抱歉反应太晚,太忙了,没时间尝试:)不知道为什么我第一次尝试时它就不起作用。谢谢@(听到这个我很高兴)