2015-04-06 7 views
0

У меня есть текстовое поле, в котором пользователь может писать текст, а текст сохраняется в настройках, чтобы текст оставался таким же, как и оставил его. Но я, должно быть, сделал что-то неправильно, потому что, когда он очищает настройки и снова вводит этот экран, текст дублируется и помещается на eachother, и некоторая часть сохраненного текста не может быть удалена.Текстовое поле дублирует текст

Это как I've сделано:

public final String fieldString = ""; 
public final String areaString = ""; 

// 


final TextField textField = new TextField(prefs.getString(fieldString),textstyle); 

    textField.setX(250); 
    textField.setY(800); 
    textField.setMaxLength(23); 
    textField.setWidth(textWidth); 
    textField.setHeight(textHeight); 
stageText.addActor(textField); 

Я потопить префов, как пользователь нажмет BackButton в начало В.

btnArrow.addListener(new ChangeListener() { 

       @Override 
       public void changed(ChangeEvent event, Actor actor) { 


        game.setScreen(0); 


        //Saves the entered text. 


        prefs.putString(fieldString, textField.getText()); 
        prefs.putString(areaString, textArea.getText()); 


        prefs.flush(); 

       } 


      }); 
+1

Вы можете использовать prefs.removeString (..); – Aakash

+0

Я предполагаю, что ключи пустые для этого образца. Я не использовал libgdx, но это кажется нечетным – user210504

+0

user3541465 51 - Да. Но мне все же нужно, чтобы пользователи вводили текст для показа. Проблема должна заключаться в том, что каждый раз, когда сбрасывается подкладка, создается и сохраняется новая строка? – Benni

ответ

0

Не видя навигации код, из вашего описания, это звучит как несколько текстовых полей становятся добавлены друг на друга каждый раз, когда вы вернетесь к экрану.

Смежные вопросы