背景信息:我目前正在为我的游戏扩展一个 Dialog 类。在该对话框的内容表中,我有一个图像和一个表(我们将其称为 ioTable)。在 ioTable 内部,我结合了标签和文本字段。这个想法是,对话框成为一种供用户填写的表格。
接下来,在对话框的按钮表中,我想包含一个“清除”文本按钮 (clearButton
)。 clearButton
将清除写入 ioTable
的 TextFields 的任何值。
我的问题:可以向 ioTable
的每个 TextField 添加一个监听器,该监听器将在按下 clearButton
时触发。一如既往,任何其他创造性的解决方案都非常受欢迎。
最佳答案
您可以只为 EventListener 提供对要清除的表的引用:
// Assuming getSkin() and ioTable are defined elsewhere and ioTable is final
TextButton clearButton = new TextButton("Clear", getSkin());
clearButton.addListener(new EventListener() {
@Override
public boolean handle(Event event) {
for(Actor potentialField : table.getChildren()) {
if(potentialField instanceof TextField) {
((TextField)potentialField).setText("");
}
}
return true;
}
});
// Add clearButton to your dialog
如果您发现自己创建了多个clearButton,您可以轻松地将其包装在辅助方法中或扩展TextButton
。
关于java - 设置 Actor 监听 LibGDX 中的按钮点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41403136/