我试图删除当用户单击它们时放入 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.TextFieldListener和 TextField.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/