Ich habe ein Array von TextFields durch eine Schleife zu einer Tabelle hinzugefügt. Die Anzahl der hinzugefügten Textfelder hängt von einer vom Benutzer angegebenen Eingabe ab.
Die TextFields werden mit dem Text "Player #" initialisiert (# wird von der Schleife inkrementiert). Ich möchte in der Lage sein, diesen Text aus jedem Textfeld zu entfernen, wenn sie fokussiert sind, und wenn nichts beim Verlieren des Fokus eingegeben wird, wird auf die ursprüngliche Zeichenfolge zurückgesetzt.
Mein Problem hier ist in der Lage, auf das TextField zuzugreifen, um den Text im FocusListener festzulegen.
Hier ist mein Code: (ANMERKUNG:. Spielernamen ist eine Tabelle außerhalb des Codeausschnitt definiert)LibGDX: Text von Textfeld auf Fokus ändern
for(int i=0; i<MainMenu.numplayers; i++) {
playername[i] = new TextField("Player " + (i+1), skin);
playernames.add(new Label("Player " + (i+1) + ":", skin, "black")).padRight(5.0F).padBottom(5.0F);
playernames.add(playername[i]).width(125.0F).padBottom(5.0F);
playernames.row();
playername[i].addListener(new FocusListener() {
public void keyboardFocusChanged(FocusListener.FocusEvent event, Actor actor, boolean focused) {
if(focused == true) {
/** change text to "" */
}
else if(focused==false){
/** change text back to "Player #" if nothing was typed */
}
}
});
Wie kann ich die TextField- innerhalb des Listener Zugriff auf den Text ändern zu können?